天天看點

Dangling meta character '+' near index 0,解決辦法

1、split方法轉化字元串為數組:

     String[] arr = split[0].split("[+]");

     報錯:

java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0
+
^
	at java.util.regex.Pattern.error(Pattern.java:1955)
	at java.util.regex.Pattern.sequence(Pattern.java:2123)
	at java.util.regex.Pattern.expr(Pattern.java:1996)
	at java.util.regex.Pattern.compile(Pattern.java:1696)
	at java.util.regex.Pattern.<init>(Pattern.java:1351)
	at java.util.regex.Pattern.compile(Pattern.java:1028)
	at java.lang.String.split(String.java:2380)
	at java.lang.String.split(String.java:2422)
           

2、經調試跟蹤發現字元串中帶有“+”時,用“+”分隔字元串成數組是不正确的,正确的寫法是:     

String[] arr = split[0].split("\\+");
           

     修改後,運作正常。

3、因為+、*、|、\等符号在正則表達示中有相應的不同意義,是以在使用時要進行轉義處理。

     這裡同樣可以用

     String[] arr = split[0].split("[+]");