String k="<color=red>test</color>。</font></size></color> <s:8> <s:34><br/> 1....";
System.out.println(
k.replaceAll("<[^<|^>]*>", "")
); 这样可以过滤掉所有html标签
但我想其中的<br/>不进行过滤,其余的都过滤
如何做到?
System.out.println(
k.replaceAll("<[^<|^>]*>", "")
); 这样可以过滤掉所有html标签
但我想其中的<br/>不进行过滤,其余的都过滤
如何做到?
String str = "<color=red>test</color>。</font></size></color><s:8><s:34><br/> 1....\n" +
"<COLOR=RED>test</COLOR>。</Font></Size></Color><S:8><S:34><BR /> 1....\n" +
"<color=red>test</color>。</font></size></color><s:8><s:34><br> 1....";
String regex = "(?i)<(?!br\\s*/?)[^>]*>";
str = str.replaceAll(regex, "");
System.out.println(str);
}
}
你可以重新写一个覆写repace函数,将你输入的字符串变成数组,判断某个字符是不是'<',他的下一个是不是b....类似向下,还可以取出四个字符,明白吧,呵呵,这个方法有点笨,但是可以解决你的问题,还有你可以吧这个函数写的灵活一点,两个参数,一个是你的字符创,你个是你不想过滤的!ok!