2014-10-09 30 views

回答

1

您可以使用:

String str1 = "abc a.b a. . b, , test"; 
String[] toks = str1.split("\\p{Punct}*\\s+[\\s\\p{Punct}]*"); 
for (String tok: toks) 
    System.out.printf(">>> [%s]%n", tok); 

>>> [abc] 
>>> [a.b] 
>>> [a] 
>>> [b] 
>>> [test] 
+0

你能解釋一下你的正則表達式嗎? – Jaxox 2014-10-09 22:39:48

+0

它在0或多個標點符號上分割,後跟1個或多個空格,並再次跟着0或更多空格或標點符號。從而使我們能夠在單詞的開頭或結尾處分開標點符號。 – anubhava 2014-10-09 22:41:41

+0

這很好用!但是,如果標點符號沒有跟着空格,並且是例如行的結尾,該如何去除標點符號? – GarRudo 2018-01-03 15:20:04

相關問題