javascript string.replace无法正常工作

时间:2014-08-14 08:30:21

标签: javascript regex

我试图动态替换父字符串中的子字符串。我尝试过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;或者我需要做一些正则表达式吗?

1 个答案:

答案 0 :(得分:3)

replace 返回替换的新字符串,它不会更改您调用它的字符串。

newbuffer = newbuffer.replace( matches[i], p.shortcodes[x].vala );
  

.replace是采用“纯文本”还是需要做一些正则表达式?

您可以使用字符串作为“搜索”参数或使用正则表达式来调用replace。如果你给它一个字符串,它将替换该字符串的第一个出现。如果你给它一个正则表达式,它将替换第一个匹配或所有匹配,这取决于你是否在正则表达式中包含g(“全局”)标志。