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)
但这仅在大写上分开。
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)
对于相同的结果。