在Java的字符串替换中,最近遇到一个问题,就是替换的目标字符串中包含了正则表达式的符号,导致报错。
错误示例:

解决办法:
![执行结果2]()
如果需要替换$等正则符号也可以这样
![执行结果3]()
搞定
错误示例:
public class PatternTest {
public static void main(String[] args) {
String data="这个商品标价$2";
data=data.replaceAll("(商品)","$3");
System.out.println(data);
}
}
执行结果:
解决办法:
public class PatternTest {
public static void main(String[] args) {
String data="这个商品标价$2";
data=data.replaceAll("(商品)", Matcher.quoteReplacement("$3"));
System.out.println(data);
}
}
执行结果:如果需要替换$等正则符号也可以这样
public class PatternTest {
public static void main(String[] args) {
String data="这个商品标价$2";
data=data.replaceAll(Pattern.quote("$"), Matcher.quoteReplacement("¥"));
System.out.println(data);
}
}
执行结果:搞定
版权申明:本文为博主原创文章,未经博主允许不得转载。
https://www.leftso.com/blog/1122.html
时效提示:本文最后更新于【 2023-01-07 19:24:38 】,某些文章具有时效性,若有错误或已失效,请在下方留言。
时效提示:本文最后更新于【 2023-01-07 19:24:38 】,某些文章具有时效性,若有错误或已失效,请在下方留言。
评论区域
评论功能已关闭. 提示:评论功能虽已关闭,关闭之前的评论仍然会展示。