2015-03-25 68 views
-2

我需要將句子拆分爲單詞和標點符號,並將em放入列表中,保存它們的順序。如何使用拆分或匹配將句子拆分爲單詞和標點符號?

例如:"Some text here!"。結果應該是:List(Some, ,text, , here,!)

我正在使用String.split("regex");對於「分割」,我只能通過單詞或僅通過標點符號來分割文本。

那麼我應該用什麼來同時分詞和標點符號? 預先感謝您。

+0

如果有一些數字呢?這裏有一些text2! 4你? – TheLostMind 2015-03-25 12:37:31

+0

數字屬於單詞。這就像分割非單詞字符的單詞。 – 2015-03-25 12:40:23

+0

現在我只能將字符串拆分爲單詞並將它們添加到列表中。 Like String [] words = sentenseToParse.split(regex);但是我還需要從相同的字符串(包括空格)中獲取非@WORD字符。並將em放置到String [] sentenseParts。這應該是像{字,空間,另一個字,點} – 2015-03-25 12:44:40

回答

0

基於

而且結果應該是:列表(Some, ,text, , here,!)

它看起來像你想拆就word boundariessplit("\\b")

String data = "Some text here!"; 
for (String s : data.split("\\b")){ 
    System.out.println("'"+s+"'"); 
} 

輸出:

+0

是的,這就是我需要的。我現在試試看。謝謝!對於我這個愚蠢的問題抱歉) – 2015-03-25 12:47:57

+0

這種問題在這個問題上太複雜了。考慮[發佈另一個問題](http://stackoverflow.com/questions/ask),您將在其中準確描述您想實現的目標。 – Pshemo 2015-03-25 13:02:04

+0

也嘗試避免[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – Pshemo 2015-03-25 13:05:24