为了账号安全,请及时绑定邮箱和手机立即绑定

在 replaceAll() 方法中对替换字符串调用替换

在 replaceAll() 方法中对替换字符串调用替换

MYYA 2021-09-03 14:22:04
看起来这应该有效,但它没有......我试图在传递给 replaceAll() 方法的替换字符串上调用 replace() 方法。例如,我尝试使用以下代码去掉双引号内的任何逗号:String string = "\"Thu, Sep 6, 2018 10:00 AM\""; System.out.println(string.replaceAll("(\"[^\"]+\")", "$1".replace(",", "")));结果是相同的字符串:"Thu, Sep 6, 2018 10:00 AM"当我希望"Thu Sep 6 2018 10:00 AM"我已经查看了 String.replaceAll() 和 Matcher.replaceAll() 的文档,但我仍然无法弄清楚为什么这不起作用。谁能帮我理解?让我强调一下,我很想知道为什么这不起作用 - 我对解决方案不感兴趣,我已经找到了替代方案。谢谢。
查看完整描述

2 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

您在“$1”上调用 .replace,而不是 replaceAll 的结果。关闭 replaceAll 调用的括号并调用 .replace 方法。

尝试

System.out.println(string.replaceAll("(\"[^\"]+\")", "$1").replace(",", ""))


查看完整回答
反对 回复 2021-09-03
?
白衣非少年

TA贡献1155条经验 获得超0个赞

只需更改结束括号的位置,它就会起作用:

System.out.println(string.replaceAll("(\"[^\"]+\")", "$1").replace(",", ""))


查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信