2

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

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

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

4

4 回答 4

1

我经常用

String.replaceAll("\\p{Cntrl}","")
于 2012-10-11T06:51:00.657 回答
0

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

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

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

于 2012-10-11T06:45:26.510 回答
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>-> 在这种情况下<update>不会被删除..

于 2012-10-11T06:53:21.170 回答
0

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

您需要使用 HTML 解析器,因为 HTML 不能完全被正则表达式解析。

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

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

这会让你"Breaking News Updates"

于 2012-10-11T07:37:13.533 回答