我试图动态替换父字符串中的子字符串。我尝试过string.replace(' old',' new')无济于事。
这里的片段给了我麻烦。
newbuffer.replace( matches[i], p.shortcodes[x].vala );
console.log( "Replace " + matches[i] + " with " + p.shortcodes[x].vala );
结果是
"Replace [hello] with <span class="strong"><p>Awaiting ajax request...</p></span">"
我在这里遗漏了什么吗? .replace是否采用&#34;纯文本&#34;或者我需要做一些正则表达式吗?
答案 0 :(得分:3)
replace
返回替换的新字符串,它不会更改您调用它的字符串。
newbuffer = newbuffer.replace( matches[i], p.shortcodes[x].vala );
.replace是采用“纯文本”还是需要做一些正则表达式?
您可以使用字符串作为“搜索”参数或使用正则表达式来调用replace
。如果你给它一个字符串,它将替换该字符串的第一个出现。如果你给它一个正则表达式,它将替换第一个匹配或所有匹配,这取决于你是否在正则表达式中包含g
(“全局”)标志。