我的问题是我要替换所有以' $ amount'开头的文字。进入' [美元]'
实施例。 string:"我有100美元而你只有50美元"
结果:"我有[美元],你只有[美元]"
另一个例子。 :" $ testString blah blah blah $ anotherString test test"
结果:" [美元]等等等等[美元]测试"
它会影响页面正文中的所有字符串。谢谢!
答案 0 :(得分:2)
使用具有全局选项(/g
)
html = html.replace(/\$/g, "#");
您没有说明需要应用的位置。
e.g。对于整个网页
var html = $('body').html();
html = html.replace(/\$/g, "#");
$('body').html(html);
e.g。对于每个div(使用函数参数html()
):
$('div').html(function(i, v){
return v.replace(/\$/g, "#");
});
e.g。对于每个段落(使用函数参数html()
):
$('p').html(function(i, v){
return v.replace(/\$/g, "#");
});
更新:匹配数量:
html = html.replace(/\$[0-9.]*/g, "#");
JSFiddle: http://jsfiddle.net/TrueBlueAussie/kveoxd2e/
更新:将任何内容与下一个空格(例如单词)匹配:
html = html.replace(/\$\w*/g, "[dollar]");
JSFiddle: http://jsfiddle.net/kveoxd2e/2/
如果你真的想要美分......更新:匹配包括美分在内的任何东西
html = html.replace(/\$(\S)*/g, "[dollar]");
JSFiddle: http://jsfiddle.net/kveoxd2e/4/
答案 1 :(得分:1)
从0到无限var stringVar =“我有100美元而你只有50美元”; stringVar.replace(/ \ $ / g,“#”);
编辑:
对于您的更新问题,您需要更改正则表达式:
stringVar.replace(/\$[0-9]*(\.)?[0-9]+/g, "[dollar]");
这应该替换任何金额,即使是小数点。
您可以将RegEx视为:
如果您不需要检查数字,甚至不需要替换字符,请使用:
stringVar.replace(/\$(\S)*/g, "#");