在分離方法,如果我只傳遞「+」字符這樣的:Split函數字符串包含一個「+」字符
public class StringSplit {
public static void main(String[] str) {
String s1 = "test+plus";
String[] stArr = s1.split("+");
System.out.println(stArr.length);
for (int i = 0; i < stArr.length; i++) {
System.out.println(stArr[i]);
}
}
}
以下錯誤即將:
Exception in thread "main" java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0
+
^
at java.util.regex.Pattern.error(Pattern.java:1713)
at java.util.regex.Pattern.sequence(Pattern.java:1878)
at java.util.regex.Pattern.expr(Pattern.java:1752)
at java.util.regex.Pattern.compile(Pattern.java:1460)
at java.util.regex.Pattern.<init>(Pattern.java:1133)
at java.util.regex.Pattern.compile(Pattern.java:823)
at java.lang.String.split(String.java:2292)
at java.lang.String.split(String.java:2334)
at StringSplit.main(StringSplit.java:5)
但是,如果我用以下代碼拆分呼叫:
String[] stArr = s1.split("\\+");
它工作正常。
行爲是這樣的嗎?
因爲文檔說明它是這樣的。 – 2012-12-12 06:24:23