2015-11-04 105 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