嗨,我試圖找出一種方法來從谷歌供稿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