我有一个这样的字符串:
String foo = "James Padolsky , Jimmy\\,Hoffa , Jane"
定期拆分,
将导致 Jimmy\,Hoffa 也被拆分。
所以会是
James Padolsky
Jimmy\
Hoffa
Jane
我需要的是
James Padolsky
Jimmy\,Hoffa
Jane
所以正则表达式应该忽略\,
并且只拆分,
什么正则表达式会给我上面的拆分?
这是一个带有必需逗号和可选空格的简单解决方案:
String foo = "James Padolsky , Jimmy\\,Hoffa , Jane";
String[] splitted = foo.split("\\s?,\\s?");
for (String split: splitted) {
System.out.println(split);
}
输出:
James Padolsky
Jimmy\,Hoffa
Jane
注意:在你的反斜杠上的双重转义foo
。否则您的String
初始化将无法编译。