如何用JavaScript从字符串中删除`//`?

问题描述 投票:9回答:3

如何从字符串中删除//<![CDATA[并以javascript结尾//]]>

var title = "<![CDATA[A Survey of Applications of Identity-Based Cryptography in Mobile Ad-Hoc Networks]]>" ;

需要成为

var title = "A Survey of Applications of Identity-Based Cryptography in Mobile Ad-Hoc Networks";

该怎么做?

javascript jquery regex cdata
3个回答
24
投票

您可以使用String.prototype.replace方法,例如:

title = title.replace("<![CDATA[", "").replace("]]>", "");

这将不替换任何目标子字符串。请注意,这只会替换每个匹配项的第一个匹配项,并且如果您想删除所有匹配项,则需要一个正则表达式。

参考:


1
投票

您应该能够使用正则表达式进行此操作。也许像这样吗?:

var myString = "<![CDATA[A Survey of Applications of Identity-Based Cryptography in Mobile Ad-Hoc Networks]]>";
var myRegexp = /<!\[CDATA\[(.*)]]>/;
var match = myRegexp.exec(myString);
alert(match[1]);

0
投票

我建议采用这种更广泛的方法来删除开头和结尾的CDATA内容:

title.trim().replace(/^(\/\/\s*)?<!\[CDATA\[|(\/\/\s*)?\]\]>$/g, '')

如果注释了CDATA页眉和页脚,也将起作用。

© www.soinside.com 2019 - 2024. All rights reserved.