Min*_*dey 2 javascript replaceall
即使我的总字符串包含要替换的字符串,我也无法从我的总字符串中获取{info.inner.interest [0]}字符串
我在谷歌搜索了同样的问题并尝试了其他代码,即使这对我不起作用.请看下面的图片
var a = "text :Array Item : {info.inner.interest[0]}",
replaceThis = "info.inner.interest[0]",
outPut = a.replace(new RegExp('{' + replaceThis + '}', 'g'), 'hello me!!')
console.log(outPut);Run Code Online (Sandbox Code Playgroud)
当我从replaceThis中删除[0]时,此代码正常工作.当我使用[..]符号时,为什么此代码不起作用.请帮我.
许多字符在正则表达式中具有特殊含义.[并]指示一个字符集,并.指示任何字符,而不是字面点.如果要匹配包含任何特殊字符的字符串,则需要先使用反斜杠转义这些字符,例如:
const escape = str => str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
var a = "text :Array Item : {info.inner.interest[0]}",
replaceThis = "info.inner.interest[0]",
outPut = a.replace(new RegExp('{' + escape(replaceThis) + '}', 'g'), 'hello me!!')
console.log(outPut);Run Code Online (Sandbox Code Playgroud)
这导致正则表达式
{info\.inner\.interest\[0\]}
Run Code Online (Sandbox Code Playgroud)
而不是
{info.inner.interest[0]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |