【问题标题】:I am not able to split the string in java?我无法在java中拆分字符串?
【发布时间】:2019-10-22 05:17:33
【问题描述】:

我有一些用混合大小写标记分隔的句子,例如:-

String s = "Hi, I am a cool Programmer.GO I love to code in Java language.Go Coding is fun for me.";

现在,我想在"GO""Go" 上拆分这些句子(这里不区分大小写)。

我目前正在这样做:-

s.split("GO");

但这只会拆分为大写。

【问题讨论】:

  • 提示:String::split 的参数是一个正则表达式。有关详细信息,请参阅 javadocs。

标签: java regex string split


【解决方案1】:

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

System.out.println(Arrays.toString(s.split("\\s*\\b[Gg][Oo]\\b\\s*")));

输出

[Hi, I am a cool Programmer., I love to code in Java language., Coding is fun for me.]

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

System.out.println(Arrays.toString(s.split((?i)\\s*\\bGO\\b\\s*)));

同样的结果。

【讨论】:

  • 伙计,当字符串中有像 Goa 这样的单词时,正则表达式也在拆分它。
  • 我得到了那个解决方案,正则表达式就像:- String splitRegex = "\\s*[Gg][Oo][ ]\\s*";
  • @Rockers 已编辑。我更喜欢边界。无需在模式[ ] 中放置空格。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 2012-03-21
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多