我无法在Java中拆分字符串?

Roc*_*ers 2 java regex string split

我有些句子用大小写混合的记号隔开,例如:

String s = "Hi, I am a cool Programmer.GO I love to code in Java language.Go Coding is fun for me.";
Run Code Online (Sandbox Code Playgroud)

现在,我想在"GO"或上拆分这些句子"Go"(此处大小写无关紧要)。

我目前正在这样做:-

s.split("GO");
Run Code Online (Sandbox Code Playgroud)

但这仅在大写上分开。

Ell*_*sch 5

String.split正则表达式 ; “简单”的解决方案是定义两种模式。第一个模式匹配大写字母和小写字母“ G”,第二个模式匹配两个字母“ O”。我们还应该删除模式之前或之后的所有空白(不\\s*匹配或更多空白)。并\\b用来强制边界,

System.out.println(Arrays.toString(s.split("\\s*\\b[Gg][Oo]\\b\\s*")));
Run Code Online (Sandbox Code Playgroud)

产出

[Hi, I am a cool Programmer., I love to code in Java language., Coding is fun for me.]
Run Code Online (Sandbox Code Playgroud)

另一个选择是(?i)不区分大小写的标志。喜欢,

System.out.println(Arrays.toString(s.split((?i)\\s*\\bGO\\b\\s*)));
Run Code Online (Sandbox Code Playgroud)

对于相同的结果。