我有一个字符串:
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);
然而这看起来很混乱,有没有更优雅的方法?
答案 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>')
使用global
和case-sensitive
匹配等正则表达式有很多好处。
答案 3 :(得分:0)
这也有效:
myString.split('{{').join('<span>').split('}}').join('</span>')
不需要正则表达式 - 这有一个额外的好处:做一种&#34;替换所有&#34;同样。