以下代码返回此代码: $ 100.00-$ 209.00 但我只需要最后一个值(不带美元符号: 209.00
我确定使用正则表达式是可行的。 有人知道怎么做吗?
该变量来自把手。
<span class="round">
{{price<?php echo $priceKey; ?>_formatted}}
</span>
我希望将原始图片转换为209.00
我必须使用javascript。
不一定是正则表达式。可以解决任何问题。
谢谢
答案 0 :(得分:3)
如果您的字符串始终具有相同的性质,则可以使用split
let str = "$100.00 - $209.00"
let op = str.split('$').pop()
console.log(op)
您可以使用match
.*\$(\d+(?:\.\d+)?)
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>