java开发过程中,报错Dangling meta character '*' near index 0,解决办法

时间:2023-03-09 08:50:13
java开发过程中,报错Dangling meta character '*' near index 0,解决办法
1、split方法转化字符串为数组:

     String[] strPicArr = map.get("hw_pic").toString().split("*");

     报错:

     java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0

2、经调试跟踪发现字符串中带有“*”时,用“*”分隔字符串成数组是不正确的,正确的写法是:

     String[] strPicArr = map.get("hw_pic").toString().split("\\*");

     修改后,运行正常。

3、因为+、*、|、\等符号在正则表达示中有相应的不同意义,所以在使用时要进行转义处理。

     这里同样可以用

     String[] strPicArr = map.get("hw_pic").toString().split("[*]");

来自:https://blog.****.net/zhouzhiwengang/article/details/53493810

String str = "A+B+C";
String[] array = str.split("\\+");
// 或者 String[] array = str.split("[+]"); // 处理连续特殊字段需要单独处理
String str1 = "A++B++C"
String[] array1 = str1.split("\\+\\+");
// 或者 String[] array = str.split("[+]");

来自:https://blog.****.net/never_tears/article/details/76619027