如何从字符串中删除//<![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";
该怎么做?
您可以使用String.prototype.replace
方法,例如:
title = title.replace("<![CDATA[", "").replace("]]>", "");
这将不替换任何目标子字符串。请注意,这只会替换每个匹配项的第一个匹配项,并且如果您想删除所有匹配项,则需要一个正则表达式。
参考:
您应该能够使用正则表达式进行此操作。也许像这样吗?:
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]);
我建议采用这种更广泛的方法来删除开头和结尾的CDATA内容:
title.trim().replace(/^(\/\/\s*)?<!\[CDATA\[|(\/\/\s*)?\]\]>$/g, '')
如果注释了CDATA页眉和页脚,也将起作用。