如何从字符串中删除`// <! - [CDATA [`和end` //]] - >`

时间:2012-06-07 15:21:00

标签: javascript jquery cdata

如何从字符串中删除//<![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";

怎么做?

3 个答案:

答案 0 :(得分:19)

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

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

这将替换每个目标子字符串。请注意,这只会替换每个匹配项的第一次出现,如果要删除所有匹配项,则需要使用正则表达式。

参考:

答案 1 :(得分: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]);

答案 2 :(得分:0)

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

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

如果对CDATA的页眉和页脚进行注释,它也将起作用。