[英]Remove special characters java
嗨,我正在尝试找出一种方法,从Google Feed API返回的结果中删除标签。 他们的结果是
Breaking \u003cb\u003eNews\u003c/b\u003e Updates
我们如何删除这些字符? 我不确定RegEx是否会更好(或更糟)。 有没有人有关于如何删除这些想法? Google不提供从Java结果中删除标记的选项。
我经常拉那些
String.replaceAll("\\p{Cntrl}","")
最好的解决方案是使用JSON转换数据。
JSON.parse(JSON.stringify({a : '<put your string here>'}));
由于从Google API获取的数据将采用JSON格式,因此这是正确的。
您可以使用下面的正则表达式。
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>
将不会被删除。
这是HTML。 \
转换为<b>
。
您将要使用HTML解析器,因为HTML不能被正则表达式完全解析。
使用像Jsoup这样的库,您可以这样做。
String data = Jsoup.parse(html).body().text();
这将使您获得"Breaking News Updates"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.