如何根据标点符号和空格分割字符串?

我有一个String ,我想根据标点符号和空格分割。 split()方法的正则表达式参数应该是什么?

抛出一些奇怪处理的代码:(请注意,它会在输出循环中跳过空标记。这很快且很脏。)您可以将需要分割和删除的任何字符添加到正则表达式模式中。 (tchrist是对的。\ s的内容很糟糕,只适用于一些非常简单的情况。)

 public class SomeClass { public static void main(String args[]) { String input = "The\rquick!brown - fox\t\tjumped?over;the,lazy\n,,.. \nsleeping___dog."; for (String s: input.split("[\\p{P} \\t\\n\\r]")){ if (s.equals("")) continue; System.out.println(s); } } } INPUT: The quick!brown - fox jumped?over;the,lazy ,,.. sleeping___dog. OUTPUT: The quick brown fox jumped over the lazy sleeping dog 

尝试这样的事情:

 String myString = "item1, item2, item3"; String[] tokens = myString.split(", "); for (String t : tokens){ System.out.println(t); } /*output item1 item2 item3 */ 
 str.split(" ,.!?;") 

对英语来说是一个好的开始。 您需要根据数据中的内容以及您使用的语言对其进行改进。