11

文字列からjavascriptを削除//<![CDATA[して終了する方法は?//]]>

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";

どうやってするか?

4

5 に答える 5

26

String.prototype.replace次のような方法を使用できます。

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

これにより、各ターゲットサブストリングが何も置き換えられません。これはそれぞれの最初の出現を置き換えるだけであり、すべての一致を削除する場合は正規表現が必要になることに注意してください。

参照:

于 2012-06-07T15:22:43.013 に答える
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]);
于 2012-06-07T15:26:37.363 に答える
1

私は、先頭と末尾のCDATAのものを削除するためのこのより広い方法を提案します:

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

CDATAヘッダーとフッターがコメント化されている場合にも機能します。

于 2019-10-15T15:00:01.923 に答える
0

文字列をエンコードするには、文字列に対して最初に行われたことの反対を実行する必要があります。これは次のとおりです。-

mystr='<!CDATA[' + mystr.replaceAll(']]>',']]]]><![CDATA[>') + ']]>'

ループを使用せずに「置換」することを示唆するこのページの他のすべての回答は間違っています。

于 2021-08-30T06:48:50.687 に答える
0

通常の表現/^(<!\[CDATA\[)|(]]>)$/gmはループすることなく私のために働いた。

于 2021-12-09T17:35:20.183 に答える