2015-11-04 106 views
-1

剥离某些字符我有字符串文本的PICE这样:如何从字符串文本的Java

<![CDATA[<SomeTag>SomeText Here</SomeTag>]]>

我想脱光CDATA标签,所以我只是得到这样的:

<SomeTag>SomeText Here</SomeTag>

我如何使用anymethod,最好的正则表达式在Java中做到这一点?

编辑: 什么,如果它不是CDATA它可以是任何一段文字,我想只提取这一点:

source.replaceAll("\\<!\\[CDATA\\[","").replaceAll("\\]\\]\\>", "") 

<SomeTag>SomeText Here</SomeTag>

回答

2

怎么样或

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); 
+0

什么是包装文本不CDATA什么,如果它是富或其他任意的文字? – mosawi

+0

其实这似乎不工作 – mosawi

+0

谢谢,我做了一些改变。请检查 – AbtPst