Javascript字符串替换(更优雅的方式)

时间:2014-07-25 08:18:08

标签: javascript

我有一个字符串:

var myString = 'Some text {{more text}} next text';

我正在尝试将{{}}替换为<span></span>

我这样做了:

var myString = 'Some text {{more text}} next text';
myString = myString.replace(/\{\{/, '<span>');
myString = myString.replace(/\}\}/, '</span>');
console.log(myString);

然而这看起来很混乱,有没有更优雅的方法?

4 个答案:

答案 0 :(得分:5)

正则表达式在这里没有必要,你更短更清洁

myString = myString.replace('{{', '<span>');
myString = myString.replace('}}', '</span>');

另一种可能性(thx @ Artyom Neustroev 征求意见):

myString = myString.replace('{{', '<span>').replace('}}', '</span>');

答案 1 :(得分:2)

如果你想使用正则表达式,这里有一个例子;

var myStrippedStr = myString.replace(/(.*){{(.*)}}(.*)/, '$1<span>$2</span>$3');

答案 2 :(得分:1)

这也应该有效,我没有必要逃避。

myString = myString.replace(/{{/,'<span>').replace(/}}/,'</span>')

使用globalcase-sensitive匹配等正则表达式有很多好处。

答案 3 :(得分:0)

这也有效:

myString.split('{{').join('<span>').split('}}').join('</span>')

不需要正则表达式 - 这有一个额外的好处:做一种&#34;替换所有&#34;同样。