这样做的好方法是什么。我有一个包含大量“& lt;”的字符串和& gt;我想用<替换它们和>。所以我写了这个:
var str = </text><word34212>
var p = str.replace('\<\;','\<');
var m = p.replace('\>\;','\>');
但这只是做每个的第一个实例 - 以及&amp; lt; /&amp; gt;的后续实例没有被替换。我考虑过首先计算&amp; lt;的实例。然后在每次迭代时循环并替换代码的一个实例......然后为&amp; gt;做同样的事情。但显然这是啰嗦。
有人能建议一个更简洁的方法吗?
答案 0 :(得分:6)
要替换多次出现,请使用正则表达式,以便指定global(g)标志:
var m = str.replace(/</g,'<').replace(/>/g,'>');
答案 1 :(得分:4)
取自:http://www.bradino.com/javascript/string-replace/
String的JavaScript函数 替换替换第一次出现 在字符串中。功能类似 到php函数str_replace和 有两个简单的参数。首先 参数是要查找的模式和 第二个参数是字符串 找到时替换模式。 javascript函数没有 全部替换......
要替换所有你必须这样做 一点点不同。替换所有 在字符串中出现,使用g 像这样的修饰符:
str = str.replace(/find/g,”replace”)
答案 2 :(得分:2)
您需要使用全局修饰符:
var p = str.replace(/\<\;/g,'\<');
答案 3 :(得分:2)
您需要在正则表达式中使用de / g修饰符,它才能正常工作。请查看此页面以获取示例:http://www.w3schools.com/jsref/jsref_replace.asp
答案 4 :(得分:0)
我是一个关联数组[regex - &gt;替换]和一次迭代就可以了