2013-04-02 150 views
1

我想使用多個分隔符分割字符串。現在我正在使用這個: String delims = "[\\s;.,:'!?()]"; 這似乎適用於這些角色,但是當我嘗試添加-角色時,它對我大叫。如何將所有這些字符加上-作爲分隔符來分割我的字符串?提前致謝!使用多個分隔符分割字符串Java

+0

你把那個角色放在哪裏?這將被看作是一個正則表達式的範圍,這可能是爲什麼它不喜歡它。 – squiguy

+0

你試過'\ -'嗎? – Lucas

+0

它大叫。涼。你使用哪種編譯器或運行時有這種錯誤報告? –

回答

1

-在字符類中有特殊含義,表示範圍。 (例如,[0-9]將匹配任何數字。)

但是,如果你把如果你把它作爲第一個字符或最後它將被匹配爲一個文字-

+0

哦,這是有道理的。我試過它作爲最後一個字符,它完美地工作。謝謝! – mkjo0617

+1

@ mkjo0617:你非常歡迎。不要忘記提供有用的答案,並選擇最能幫助你的答案作爲正確答案。 – Keppil

5
  • 裏面的字符類有特殊的含義。它通常用於選擇一系列字符,如:[az] ...爲了匹配破折號單獨...要麼保持在開始或結束

我剛試過這個,它的工作

String regex = "[\\s;.,:'!?()-]"; 
    String text = "jatin-shah-testing"; 

    String[] tokens = text.split(regex); 
    for(int i = 0; i < tokens.length; i++) 
    System.out.println(tokens[i]); 
+0

非常感謝! – mkjo0617

+0

@jsshah非常感謝 –