2013-10-31 62 views
0

因此,我試圖使用緩衝讀取器將文檔(.txt)讀入Java項目中,對其進行編輯並將其返回/輸出。我遇到的問題是無法識別標點符號。 該文件爲:如何使用文本文檔「劃分」緩衝閱讀器?

hello hello.hello,hello/hello?

作爲我希望能夠處理的不同情況的測試。 我也得到:

你好你好你好你好你好

有什麼建議? (將提供部分代碼,如果需要回答) 我正在考慮使用分隔符,但無法弄清楚如何根據上下文(或者甚至可能使用緩衝讀取器)。

順便說一句,我正在逐字讀取和編輯這個文檔,並通過多個數組中的檢查來運行它以包含某些字符。如果有幫助。

+1

所以如果'hello hello.hello,hello/hello?'是你的輸入,那麼期望的輸出是什麼?我對你的措辭有點困惑。 –

回答

0

您可以讀取整個文件到通過循環readLine一個String(不建議大文件)

然後在字符串:

String.split("[\s.,/]") 

這將在幾個不同的字符分割你的字符串。

或者,如果你想拆就所有非字母:

String.split("[^A-Za-z]") 

這會給你一個字符串數組,這是相當容易的工作。然後你最後回寫。

0

如果你想處理所有的標點符號和空格,我建議你去lucene tokenizer並完成工作。 此處給出了一個示例實現 How to use a Lucene Analyzer to tokenize a String? 但是,這取決於您的要求。如果它只是逗號和空格,那麼正則表達式會做需要的