正则表达式,用于用Java中的仅大写单词拆分字符串

时间:2019-02-26 21:41:27

标签: java regex

我有这个...

 String bigWord = "I AM LOUD But also sensitive";
 String[] words = bigWord.split("[^A-Z| ]");

我希望该列表中的第一个条目为“我很大”,第二个条目为“但也敏感”。

上面的RegEx几乎可以使用,但是它捕获了第二个条目的第一个字母。

“我很棒B”

我该如何解决?

1 个答案:

答案 0 :(得分:1)

使用Matcher类,以便您轻松获得组。

      String bigWord = "I AM LOUD But also sensitive";

      Pattern pattern = Pattern.compile("([A-Z ]+)? ([A-Z]?.*)");
      Matcher matcher = pattern.matcher(bigWord);
      while(matcher.find()){
         System.out.println(matcher.group(1));
         System.out.println(matcher.group(2));
      }

输出:

I AM LOUD
But also sensitive

正则表达式中的键是:

A group of uppercased words an space A group of mixed chars