0
所以我有一個文件,我寫入數組。我想通過把它分成更小的字符串來解析字符串。我已經用split(「\ s +」)將字符串從另一個字符串中分隔出來了。不過,我想還包括(";,.\n:()")
作爲分隔符。有人能幫我嗎?我試過split(".,;:\n()\\s+")
,但這樣做會產生錯誤的結果。拆分()與多個分隔符(不工作)
所以我有一個文件,我寫入數組。我想通過把它分成更小的字符串來解析字符串。我已經用split(「\ s +」)將字符串從另一個字符串中分隔出來了。不過,我想還包括(";,.\n:()")
作爲分隔符。有人能幫我嗎?我試過split(".,;:\n()\\s+")
,但這樣做會產生錯誤的結果。拆分()與多個分隔符(不工作)
做這樣的,
str.split("[.,;:\\n()]|\\s+");
字符類應採取每個令牌作爲單獨的分隔符。以上應該根據字符類中存在的字符中存在的字符進行分割,或者將分割爲一個或多個空格字符。
或
由於\\s
也匹配\\n
,我只是結合了這兩種..
str.split("[.,;:()\\s]+");
完美無缺。背後用括號括起來的原因是什麼? – FutureUIUXDeveloper
@FutureUIUXDeveloper沒有'+','foo()bar'會產生'foo','empty','empty','bar'。加上,它應該產生'foo','bar'。即它會分裂字符類中的一個或多個字符。 –
@FutureUIUXDeveloper [接受,如果我的答案似乎有幫助..](http://stackoverflow.com/help/accepted-answer) –