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

时间:2011-04-08 22:33:21

标签: java regex

我想要根据标点符号和空格分割Stringsplit()方法的正则表达式参数应该是什么?

3 个答案:

答案 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(" ,.!?;") 

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