Javascript 无法用包含[和]的字符串替换我的字符串

Javascript 无法用包含[和]的字符串替换我的字符串,javascript,replaceall,Javascript,Replaceall,我无法从我的总字符串中{info.internal.interest[0]}字符串,即使我的总字符串包含要替换的字符串 我在谷歌上搜索了同一个问题,并尝试了其他代码,尽管这对我来说不起作用。请看下图 var a=“text:Array项:{info.internal.interest[0]}”, replaceThis=“info.internal.interest[0]”, outPut=a.replace(新的RegExp('{'+replaceThis+'}','g'),'hello

我无法从我的总字符串中{info.internal.interest[0]}字符串,即使我的总字符串包含要替换的字符串

我在谷歌上搜索了同一个问题,并尝试了其他代码,尽管这对我来说不起作用。请看下图

var a=“text:Array项:{info.internal.interest[0]}”,
replaceThis=“info.internal.interest[0]”,
outPut=a.replace(新的RegExp('{'+replaceThis+'}','g'),'hello me!!')

控制台日志(输出)许多字符在正则表达式中具有特殊含义
[
]
表示字符集,
表示任何字符,而不是文字点。如果要匹配包含任何特殊字符的字符串,需要先用反斜杠转义这些字符,例如:

const escape=str=>str.replace(/[-\/\\^$*+?.()[\]{}]/g,\\$&');
var a=“text:数组项:{info.internal.interest[0]}”,
replaceThis=“info.internal.interest[0]”,
outPut=a.replace(新的RegExp('{'+escape(replaceThis)+'}','g'),'hello me!!')

控制台日志(输出)您需要转义正则表达式中的特殊字符
replaceThis=“info.internal.interest\[0\]”

或者在下面用速记

var a=“text:Array项:{info.internal.interest[0]}”,
replaceThis=“info.internal.interest[0]”,
outPut=a.replace(/\[\]/g,“你好!!”);
控制台日志(输出)这是我的解决方案:

var a=“text:Array项:{info.internal.interest[0]}”;
replaceThis=“info.internal.interest[0]”;
outPut=a.replace(replaceThis,'hello me!!');

控制台日志(输出)您使用了错误的正则表达式。它应该是
(信息\\.internal\\.interest\\[0\\])
。见以下代码:

var a=“text:Array项:{info.internal.interest[0]}”,
replaceThis=“info.internal.interest[0]”,
outPut=a.replace(新的RegExp('(info\\.internal\\\.interest\\\[0\\]),'g'),'hello me!!')

控制台日志(输出)
您需要使用反斜杠转义字符
[
]