Javascript如何强制string.replace不将我的字符串解释为正则表达式

时间:2012-09-07 02:12:41

标签: javascript regex

假设我有一个字符串foo可能有正则表达式特殊字符(例如文件路径)。

我有一个字符串x

x.replace(foo, 'bar');

但我不想让foo被解释为正则表达式,我只是想让它用' bar'替换文字字符串foo。

我如何做到这一点?

2 个答案:

答案 0 :(得分:3)

如果foo是一个字符串,那么它不会被解释为正则表达式,它只会用'bar'替换文字字符串foo。

"aaa /bbb/ ccc".replace("/bbb/", "eee")返回"aaa eee ccc"

答案 1 :(得分:0)

如果您想将 foo 视为文字,请将其作为文字字符串传递:

str = x.replace('foo', 'bar');

或者,例如:

var path = "/bin/cat";
path = path.replace("/bin", "/usr/local/bin");

replace方法将正则表达式或文字字符串作为第一个参数。