因此,我一直在互联网上搜索4个小时以上,以获取有关如何执行此操作的线索,但我找不到找到自己想要的方法。
我要输入的内容(例如):

  word1 !  ?? word2 word3 ..   .. word4, word5, word6 !?. word7 !! !
word8 word9 ?
. word10


然后以任意顺序匹配.!?以及两者之间的任何空格,以使其返回我:

["word1", "word2 word3", "word4, word5, word6", "word7", "word8 word9", "word10"]


可能值得一提的是我想为此目的使用String.split(),但是任何其他更有效/简便的方法都将非常受欢迎!

最佳答案

你可以这样尝试

String data="word1 !  ?? word2 word3 ..   .. word4, word5, word6 !?. word7 !! !" +
        "word8 word9 ?" +
        ". word10";
for (String s:data.split("\\s*([!?.]+\\s*)+")){
    System.out.println(s);
}


输出

word1
word2 word3
word4, word5, word6
word7
word8 word9
word10

09-04 11:29