2010-08-16 68 views
2

这将是一种很好的方法。我有一个字符串有很多“& lt;”和& gt;我想用<和>替换它们。所以我写了这一点:如何简化此密码

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

但是这只是在做各的第一个实例 - 和& LT后续实例;/& GT;没有被取代。我认为首先要计算& lt;然后在每次迭代中循环并替换一个代码实例...然后对&>但显然这很啰嗦。

任何人都可以提出一个更好的方法来做到这一点?

回答

6

来替代多个occurances您使用正则表达式,这样就可以指定全局(G)标志:

var m = str.replace(/&lt;/g,'<').replace(/&gt;/g,'>'); 
4

来自:http://www.bradino.com/javascript/string-replace/

弦乐 JavaScript函数替换替换字符串中第一次出现 。这个函数与php函数str_replace类似, 和 有两个简单的参数。第一个 参数是查找的模式,而 的第二个参数是字符串到 ,当找到时替换模式。 javascript功能不会 全部替换...

要全部替换,您必须做一个 稍有不同。全部更换 出现在字符串中,用G 修改如下:

str = str.replace(/find/g,”replace”) 
+0

非常感谢所有人。我做过谷歌!必须正确学习REGEX。 – 2010-08-16 19:59:53

0

我事情关联数组[正则表达式 - >替换]和一个迭代会做

2

你需要使用全局修改:

var p = str.replace(/\&lt\;/g,'\<');