如何简化这段代码

时间:2010-08-16 19:50:56

标签: javascript string

这样做的好方法是什么。我有一个包含大量“& lt;”的字符串和& gt;我想用<替换它们和>。所以我写了这个:

var str = </text><word34212>
var p = str.replace('\&lt\;','\<');
var m = p.replace('\&gt\;','\>');

但这只是做每个的第一个实例 - 以及&amp; lt; /&amp; gt;的后续实例没有被替换。我考虑过首先计算&amp; lt;的实例。然后在每次迭代时循环并替换代码的一个实例......然后为&amp; gt;做同样的事情。但显然这是啰嗦。

有人能建议一个更简洁的方法吗?

5 个答案:

答案 0 :(得分:6)

要替换多次出现,请使用正则表达式,以便指定global(g)标志:

var m = str.replace(/&lt;/g,'<').replace(/&gt;/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(/\&lt\;/g,'\<');

答案 3 :(得分:2)

您需要在正则表达式中使用de / g修饰符,它才能正常工作。请查看此页面以获取示例:http://www.w3schools.com/jsref/jsref_replace.asp

答案 4 :(得分:0)

我是一个关联数组[regex - &gt;替换]和一次迭代就可以了

相关问题