您好我正在尝试找出从Google Feed API返回的结果中删除标记的方法。他们的结果是
Breaking \u003cb\u003eNews\u003c/b\u003e Updates
我们如何删除这些字符? 我不确定RegEx会更好(或更糟)。有没有人知道如何删除这些? Google没有提供从Java中删除结果标签的选项。
答案 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"
。