我有一个字符串可能如下所示:
<p>“bla bla bla “Another THing”,more text to the sentence.”</p>
我希望匹配最后一个”
字符并用span填充它。第一个很简单:
var str = '<p>“bla bla bla “Another THing”,more text to the sentence.”</p>'
str.replace(/“/,"<span class=quote>“</span>")
但由于句子中可能会有一些结束”
,我该如何匹配最后一个?
答案 0 :(得分:4)
您可以使用前瞻:
str = str.replace(/”(?=[^”]*$)/,"<span class=quote>”</span>")
这将替换"
,后跟一系列non-"
个字符,直至结束。
答案 1 :(得分:0)
嗯...怎么样
var astr = str.Split("“");
astr[astr.length-2] += "<span class=quote>";
astr[astr.length-1] = "</span>" + astr[astr.length-1];
str = astr.join("“");
有趣但如果您没有任何“
则会失败 - 因此建议进行错误检查。
不知道它是否比前瞻性正则表达更快 - 但现在你有了选择。