我有一些html文檔,我需要返回文檔中的字數。這個計數應該只包括實際的文本(所以沒有html標籤,例如html,br等)。如何計算HTML源代碼中的字數(文本)
任何想法如何做到這一點?當然,我寧願重新使用一些代碼。
感謝,
阿薩夫
我有一些html文檔,我需要返回文檔中的字數。這個計數應該只包括實際的文本(所以沒有html標籤,例如html,br等)。如何計算HTML源代碼中的字數(文本)
任何想法如何做到這一點?當然,我寧願重新使用一些代碼。
感謝,
阿薩夫
剝離出的HTML標籤,讓文本內容,重用線Jsoup
讀取文件中的行,持有Map<String, Integer> wordToCountMap
和閱讀並運行在Map
我想補充一個額外的步驟Jigar的回答是:
Tokenise生成的文本文檔文本。這取決於你對「單詞」的定義。它不太可能像在空間上分裂一樣簡單。您需要處理標點符號等。因此,請查看各種Tokeniser可用的例如Lucene或Stanford NLP項目。以下是您將遇到的一些簡單示例:
"Today I'm going to New York!"
- 「我」是一個字還是兩個字?那麼「紐約」呢?
"We applied two meta-filters in the analysis"
- 「meta-filter」是一個字還是兩個字?
而關於格式錯誤的文字,例如在句末的空間錯過了什麼:
"So we went there.And on arrival..."
Tokenising是棘手...
與jsoup
private int countWords(String html) throws Exception {
org.jsoup.nodes.Document dom = Jsoup.parse(html);
String text = dom.text();
return text.split(" ").length;
}
+1 @Jigar喬希解決方案非常確切的答案。 – Boro 2011-05-17 10:18:56
+1使用JSoup – 2011-05-17 10:20:59
您已經錯過了剝離HTML後實際標記所得文本的(非平凡)步驟 – 2011-05-17 10:53:44