繁体   English   中英

删除特殊字符java

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM