有什么方法可以擦除此字符串的第一部分吗?

时间:2019-07-11 19:31:00

标签: javascript regex string

以下代码返回此代码: $ 100.00-$ 209.00 但我只需要最后一个值(不带美元符号: 209.00

我确定使用正则表达式是可行的。 有人知道怎么做吗?

该变量来自把手。

<span class="round">
   {{price<?php echo $priceKey; ?>_formatted}}
</span>

我希望将原始图片转换为209.00

我必须使用javascript。

不一定是正则表达式。可以解决任何问题。

谢谢

3 个答案:

答案 0 :(得分:3)

如果您的字符串始终具有相同的性质,则可以使用split

let str = "$100.00 - $209.00"

let op = str.split('$').pop()

console.log(op)

您可以使用match

.*\$(\d+(?:\.\d+)?)

enter image description here

let str = "$100.00 - $209.00"

let op = str.match(/.*\$(\d+(?:\.\d+)?)/)

console.log(op[1])

答案 1 :(得分:1)

'$100.00 - $209.00'.split('$')[2]不是正则表达式,但也许它的简单性使其变得更好。

console.log('$100.00 - $209.00'.split('$')[2])

由于this behavior of the .split function,我使用[2]代替了[1]

  

如果分隔符出现在字符串的开头或结尾(或同时出现在字符串的开头和结尾),则数组分别以一个空字符串开头,结尾或同时出现在开头和结尾。

答案 2 :(得分:1)

另一种选择(不使用正则表达式)是将String.slice()String.lastIndexOf()结合使用:

let str = document.querySelector(".round").innerText;
let formatted = str.slice(str.lastIndexOf("$") + 1);
console.log(formatted);
.as-console {background-color:black !important; color:lime;}
<span class="round">
   $100.00 - $209.00
</span>