删除特殊字符java

时间:2012-10-11 06:36:09

标签: java android api

您好我正在尝试找出从Google Feed API返回的结果中删除标记的方法。他们的结果是

   Breaking \u003cb\u003eNews\u003c/b\u003e Updates

我们如何删除这些字符? 我不确定RegEx会更好(或更糟)。有没有人知道如何删除这些? Google没有提供从Java中删除结果标签的选项。

4 个答案:

答案 0 :(得分:1)

我经常用

拉那些
String.replaceAll("\\p{Cntrl}","")

答案 1 :(得分:0)

最好的解决方案是使用JSON转换数据。

JSON.parse(JSON.stringify({a : '<put your string here>'}));

这将是正确的,因为您将从Google API获得的数据将采用JSON格式。

答案 2 :(得分:0)

您可以使用以下正则表达式

String str = "Breaking \u003cb\u003eNews\u003c/b\u003e Updates";
str = str.replaceAll("\\<(.*)?\\>(.*)\\</\\1\\>", "$2");
System.out.println(str);

输出: -

Breaking News Updates
  • \\<(.*)?\\>匹配第一个开头标记 - <b>
  • \\</\\1\\>匹配相应的结束标记 - </b>
  • \\1用于反向引用标记,以便匹配正确的标记对。

所以,<b>news <update></b> - &gt;在这种情况下,<update>将不会被移除..

答案 3 :(得分:0)

这是HTML。 \u003cb\u003e转换为<b>

您将需要使用HTML解析器,因为HTML无法通过正则表达式完全解析。

使用像Jsoup这样的库你可以这样做。

String data = Jsoup.parse(html).body().text();

这会让你"Breaking News Updates"