2011-12-20 57 views
0

我想用java將文本分成單個單詞。java中的分詞

SalesCost的國家,測試, 「2011年10月28日00:00:00」,12

期望的結果:

1.SalesCost國有
2.testing
3。 「2011年10月28日00:00:00」
4.12

逗號分隔拆分不正確。

有沒有其他解決方案呢? 任何建議,非常感謝。

-spk-

+2

獲取CSV解析庫。 http://stackoverflow.com/questions/2053761/what-is-a-good-csv-java-utility – Thilo 2011-12-20 08:28:45

+0

「/ W +」將做到這一點..include在正則表達式.. – 2011-12-20 08:29:38

+0

@SrinivasReddyThatiparthy好像你最終一樣的問題。它應該在日期中匹配「,」,否? – Matt 2011-12-20 08:34:07

回答

3

您是否試圖解析CSV文件?看起來像那樣。無論如何,你可以試試OpenCSV。您也可以使用它來分析逗號分隔的字符串,並像引號一樣定義轉義字符。

3

String.split()使用正則表達式。所以你可以使用負面預測來做到這一點。

嘗試這樣:

split("(?!\\"),(?!\\")");

我還沒有試過這種特定的正則表達式,但玩一點點與它指的API文檔。在一天結束時,這應該起作用。

但看來你只是想解析CSV格式。所以,我建議你使用CSV解析器。例如這一個:http://opencsv.sourceforge.net/

+0

嗨,亞歷克斯,你能解釋一下這個正則表達式嗎? – sprabhakaran 2011-12-20 09:27:21

0

如果您總是可以期待逗號分隔字段之前的空格,您可以隨時將其添加到您的分隔符以避免在日期逗號分裂。沒有任何方法靈活,但如果數據安全使用可能會更快。