我已经收到了一些字符串文本:
<![CDATA[<SomeTag>SomeText Here</SomeTag>]]>
我想剥去CDATA标签,所以我得到了这个:
<SomeTag>SomeText Here</SomeTag>
如何使用任何方法在Java中实现此目的,最好是正则表达式?
编辑:
如果它不是CDATA,它可以是任何一段文字,我想提取这个:
<SomeTag>SomeText Here</SomeTag>
答案 0 :(得分:2)
怎么样
source.replaceAll("\\<!\\[CDATA\\[","").replaceAll("\\]\\]\\>", "")
或
source.replaceAll("\\<!\\[CDATA\\[|\\]\\]\\>",""));
或模式匹配
Pattern p = Pattern.compile("\\<!\\[CDATA\\[|\\]\\]>");
String s = "<![CDATA[<explanation>SomeText Here</explanation>]]>";
Matcher m = p.matcher(s);
String extracted = "";
while (m.find()) {
extracted = m.replaceAll("");
}
System.out.println(extracted );