替换JavaScript中出现的所有不起作用的字符串
我有这个字符串:替换JavaScript中出现的所有不起作用的字符串,javascript,Javascript,我有这个字符串: <Tracking event="firstQuartile"><![CDATA[]]></Tracking> <Tracking event="firstQuartile"><![CDATA[]]></Tracking> <Tracking event="firstQuartile"><![CDATA[]]></Tracking> <Tracking event=
<Tracking event="firstQuartile"><![CDATA[]]></Tracking>
<Tracking event="firstQuartile"><![CDATA[]]></Tracking>
<Tracking event="firstQuartile"><![CDATA[]]></Tracking>
<Tracking event="firstQuartile"><![CDATA[blah blah bla]]></Tracking>
我尝试:
.replace(new RegExp('<Tracking event="firstQuartile"><![CDATA[]]></Tracking>', 'g'), ' ');
.replace(新的RegExp(“'g'),”);
什么也没发生。我不明白为什么。使用regex文本转义
/
和[]
元符号:
var str = '<Tracking event="firstQuartile"><![CDATA[]]></Tracking><Tracking event="firstQuartile"><![CDATA[]]></Tracking><Tracking event="firstQuartile"><![CDATA[]]></Tracking><Tracking event="firstQuartile"><![CDATA[blah blah bla]]></Tracking>';
console.log(str.replace(/<Tracking event="firstQuartile"><!\[CDATA\[\]\]><\/Tracking>/g, ' '));
var-str='';
log(str.replace(//g',);
输出:
"<Tracking event="firstQuartile"><![CDATA[blah blah bla]]></Tracking>"
“”
该[
通常会打开一类字符,因此您需要将其设置为普通字符:
s.replace(新的RegExp(“'g'),”);
需要\
的原因是字符串中需要一个\
(作为字符串的最终结果),如果使用\[/code>,只引用[
并成为'['
。因为代码中的'\\'
将成为'\\'
的字符串,因此要使其成为'\['
,代码中需要'\\['
。必须转义特殊字符,例如[
和]
如下:\[
,\\]
。
s.replace(new RegExp('<Tracking event="firstQuartile"><!\\[CDATA\\[]]></Tracking>', 'g'), ' ');