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) –