string.replaceAll Illegal group reference"异常的分析

来源:互联网 发布:网络汽车代理商怎么做 编辑:程序博客网 时间:2024/06/09 19:43

String replaceAll(regex, replacement)函数 ,  由于第一个参数支持正则表达式,replacement中出现“$”,会按照$1$2的分组

模式进行匹配,当编译器发现“$”后跟的不是整数的时候,就会抛出“非法的组引用”的异常。

所以我们在使用replaceAll(regex, replacement)函数的时候要特别小心。

如果真的要把String中的字符替换成"$AAA"的话,可以对replacement 进行“$”的转义处理:

 

String content = "3213123,17,0,19900101,\"aaa$aaaaa258456\",1,\"如果上天给你一次机会,你是否还会继续那么\",\\\\N";
content = content.replace("$", "\\$");

0 0
原创粉丝点击