假设我们有以下字符串:
"test01,test02,test03,exceptional,case,test04"
我想要的是将字符串拆分为字符串数组,如下所示:
["test01","test02","test03","exceptional,case","test04"]
如何用Java做到这一点?

最佳答案

这个负面的正则表达式正则表达式应该适合您:

(?<!exceptional),|,(?!case)

Working Demo

Java代码:
String[] arr = str.split("(?<!exceptional),|,(?!case)");

说明:

如果这两个条件中的任何一个满足,则此正则表达式匹配逗号:
  • 逗号之前没有单词exceptional,在后面使用了负向后缀(?<!exceptional)
  • 逗号后不跟单词case,使用负数超前(?!case)

  • 当逗号被两侧的exceptionalcase包围时,这实际上不允许在逗号上进行拆分。

    10-05 23:25