簡體   English   中英

從文檔中剝離不需要的標簽

[英]Strip unwanted tags from Document

更新 (請先閱讀以下內容)

通過簡單地在兩個不同的標簽上兩次調用replaceAll,我已經找到了解決該問題的方法,但是現在我遇到了另一個標簽問題:

Turn right onto Waialae Ave<div style="font-size:0.9em">Destination will be on the left</div>

我不希望出現特殊情況,以便該程序能夠刪除所有不只針對粗體和樣式標簽的格式標簽。 因此,我的程序是否有辦法檢測<符號並刪除其中包含的所有內容(包括符號,直至結尾符號>)? 那會很有幫助。


我正在使用Google Maps API向用戶提供信息; 但是,這樣做時,它會打印出粗體格式標簽,如下所示:

Head <b>northwest</b> toward <b>Kalaniiki St</b>

我試圖通過使用replaceAll方法來剝離它:

String instructions = eElement.getElementsByTagName("html_instructions").item(0).getTextContent().toString();
instructions = instructions.replaceAll("[^A-Za-z0-9]", " ");

但是,這僅除去了<和>符號,而不除去字符b。 我將如何更改replaceAll方法的格式,使其擺脫黑體標記? 請告訴我。

謝謝!

您可以嘗試使用正則表達式捕獲開始和結束標記,並將其替換為空字符串。

我不知道僅通過str.replaceAll()方法執行此操作的可行方法。 如果我提出僅使用它的內容,我將進行更新。

下面的代碼運行str.replaceAll() 之后工作,它將在html標簽中捕獲其余文本。 您仍然需要str.replaceAll()的原因是為了擺脫&nbsp等之類的東西。我在開頭添加了一個空格,這將防止單詞被合並。 以后可能需要根據規格修剪此空間。

do{
   str += (" " + (str.substring(str.indexOf(">") + 1, str.indexOf("<")); 
} while(str.indexOf("<") != -1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM