簡體   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