嗨,我试图找出一种方法来从谷歌供稿API返回的搜索结果中删除标签。他们的结果是删除特殊字符的java
Breaking \u003cb\u003eNews\u003c/b\u003e Updates
我们如何删除这些字符? 我不确定RegEx是否会更好(或更糟糕)。有没有人有如何删除这些想法? Google不提供从JAVA结果中删除标签的选项。欢迎任何提示,谢谢。
嗨,我试图找出一种方法来从谷歌供稿API返回的搜索结果中删除标签。他们的结果是删除特殊字符的java
Breaking \u003cb\u003eNews\u003c/b\u003e Updates
我们如何删除这些字符? 我不确定RegEx是否会更好(或更糟糕)。有没有人有如何删除这些想法? Google不提供从JAVA结果中删除标签的选项。欢迎任何提示,谢谢。
您可以使用正则表达式如下..
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>
..
@Srinivas ..试试上面的正则表达式..它工作:) –
最好的解决办法是使用JSON将数据转换。
JSON.parse(JSON.stringify({a : '<put your string here>'}));
这将是正确的,你会从谷歌API获取的数据将在JSON形式。
不能找到JSON类,对不起 – Sri
我拉那些经常与
String.replaceAll("\\p{Cntrl}","")
对不起,不工作 – Sri
我猜\ u003cb不是Java它必须是json所以这是我能做的最好的 –
这是HTML。 \u003cb\u003e
转换为<b>
。
你要使用HTML解析器HTML不完全分析,能够通过正则表达式。
有了这样Jsoup库,你可以做到这一点的。
String data = Jsoup.parse(html).body().text();
这会给你"Breaking News Updates"
。
你可以明确地发布你想要删除的标签吗? –
你想替换这些: - '\ u003c','\ u003e' ?? –
是的,我们该如何删除这些字符? – Sri