天天看点

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("[+]");