我想要根据标点符号和空格分割String
。 split()
方法的正则表达式参数应该是什么?
答案 0 :(得分:14)
抛出一些古怪的处理代码:(注意它在输出循环中跳过空标记。这很快又很脏。)你可以添加你需要分割和删除的任何字符到正则表达式模式。 (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
答案 1 :(得分:0)
尝试这样的事情:
String myString = "item1, item2, item3";
String[] tokens = myString.split(", ");
for (String t : tokens){
System.out.println(t);
}
/*output
item1
item2
item3
*/
答案 2 :(得分:-3)
str.split(" ,.!?;")
对英语来说是一个好的开始。您需要根据您在数据中看到的内容以及您正在使用的语言来改进它。