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]+
。为什么示例中会有额外的反斜杠?
答案 0 :(得分:6)
额外的\
是为了逃避下一个反斜杠。在任何Java字符串中"\\"
表示"\"
。
这是因为'\'
是一个特殊字符。你必须看到"\n"
曾经意味着换行吗?因此,要将字面\
放入字符串中,请使用"\\"
。
例如,试试System.out.println("Here\'s a backslash : \\")
。
这将打印:
Here's a backslash : \