如何从String文本Java中删除某些字符

时间:2015-11-04 15:59:42

标签: java regex string replace

我已经收到了一些字符串文本:

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

我想剥去CDATA标签,所以我得到了这个:

<SomeTag>SomeText Here</SomeTag>

如何使用任何方法在Java中实现此目的,最好是正则表达式?

编辑: 如果它不是CDATA,它可以是任何一段文字,我想提取这个: <SomeTag>SomeText Here</SomeTag>

1 个答案:

答案 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 );