匹配以下html字符串中的€特殊字符所需的正则表达式是什么?
€20.000.000,00
最终,我想从数字中删除€符号。目前,我的代码如下所示:
num = $("#number").html();
num.replace('€','');
$("number").html(num)
但当然我需要用正确的正则表达式替换'€'
。
答案 0 :(得分:1)
看来,当您使用jQuery操作文本时,HTML缩写€
已被其实际的unicode值替换 - 真正的单个字符€
。一个引用unicode字符值的正则表达式应该适合你。
var x = $('#number').html();
x = x.replace(/\u20ac/, '');
$('#number').html(x);
答案 1 :(得分:1)
对从浏览器页面提取的HTML执行正则表达式是不可靠的,因为从浏览器返回的HTML在每个浏览器中通常都是不同的。例如,IE将删除属性周围的引号并更改属性的顺序,因为它正在重构HTML,而不是返回原始HTML。 HTML实体也是如此(您可能会或可能不会获得实际实体)。你通常可以找到一段不间断的文本,但是比这更复杂的东西可能很麻烦。
在浏览器消化和反刍之前尝试上去食物链总是更好。转到浏览器尚未操作任何内容的实际页面源,或让服务器将所需值直接放在javascript变量中(如果可能)。
答案 2 :(得分:0)
.replace
返回其结果,它不会就地修改字符串。