我的用例是在多个分隔符上拆分字符串。说, and \n
我有这样的事情:
String str = "abc
xyz, jkl"
String[] tokens = str.split(",+|\\n+);
我的结果令牌是这样的:
abc\n (i.e. abc with a new line)
xyz and jkl are correctly trimmed.
基本上所有','分隔的字符串都被正确分割,而'\ n'分隔的字符串附加了'\ n'。我想知道为什么\ n附加它们并且有办法解决这个问题吗?
答案 0 :(得分:1)
也许你已经登上了窗户,并且那里还有一个回车\r
(与\n
不同)。
试试这个:
String[] tokens = str.split("[,\\n\\r]+");
如果不期望令牌包含空格,您还可以在拆分期间通过将\s
添加到拆分正则表达式来删除标记中的空格:
String[] tokens = str.split("[,\\n\\r\\s]+");