-2
import java.util.regex.*;

public class Splitter {
    public static void main(String[] args) throws Exception {
        Pattern p = Pattern.compile("[,\\s]+");
        String[] results = p.split("one,two, three   four ,  five");
        for (String result : results) {
            System.out.println(result);
        }
    }
}

分隔符可以是逗号或空格,也可以是任意数量的组合。我认为它的正则表达式应该是[,\s]+. 为什么示例中有一个额外的反斜杠?

4

1 回答 1

5

额外\的是逃避下一个反斜杠。在任何 Java 字符串"\\"中意味着"\".

这是因为'\'是一个特殊字符。您一定已经看到"\n"用于表示换行符吧?因此,要将文字\放入您使用的字符串中"\\"

例如尝试System.out.println("Here\'s a backslash : \\")

这将打印: Here's a backslash : \

于 2012-05-20T23:34:58.863 回答