2013-04-09 64 views
0

我要尋找一些庫,這將有助於我做到以下幾點:一般標記者

對於給定的輸入文本文檔: 1.將文檔轉換爲小寫(易與toLowerCase功能解決。) 2。除去符號 3.記號化導致詞語

EG的列表: 「A,b; C \ ND F」 應導致[ 「一」, 「b」, 「C」, 「d」,「 e「,」f「]。

應該與所有語言。除了英文,我還有一些俄文,中文和日文文本。

這是我曾嘗試:

Replacing all non-alphanumeric characters with empty strings提到的解決方案可以很容易地適應我的問題,如果我處理,只有英文。

java.util.StringTokenizer的這類作品,但它不會刪除符號。

以下是我在尋找: 執行所有這三個操作一種優雅的方式。不找精細(即長度)的代碼,做它(我自己寫的,如果沒有很好的解決方案)。

回答

1

您是否嘗試過使用String.split()與使用符號和空格作爲分隔符正則表達式?

沿着這個東西線。

document.toLowerCase().split(["\\p{Punct}\\s]+");

其中\ p {PUNCT}根據Pattern等於!"#$%&'()*+,-./:;<=>[email protected][\]^_`{|}~

這將刪除所有的符號和空白,並返回一個字符串,這將是你的標記化名單沒有任何符號的陣列。

+0

@ElKamina沒有您在正則表達式的'\\ s'和'+'?的'+'應在1個或多個字符是該組的一部分相匹配。 注:'\\ s'匹配所有空白字符 – FDinoff 2013-04-09 20:33:10

+0

我已經排除了他們。它現在有效。謝謝! – ElKamina 2013-04-09 20:34:08

+0

不客氣。 – FDinoff 2013-04-09 20:35:47