You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何将字符串里的[ ]替换为值X?

解决Java字符串替换[ ]为X的问题

问题场景

你有如下Java字符串:

String value = "You are my star [ ] dear";

需要将其中的[ ](方括号加中间空格)替换为X,但之前尝试的replaceAll写法均未生效。

错误写法分析

你尝试的几种写法都存在问题:

  • ReplaceAll("[]","X"):正则表达式中[]是字符类的语法,这种写法本身不合法,会抛出正则语法异常,且无法匹配目标子串。
  • ReplaceAll("//[//]","X"):Java中转义正则特殊字符需要用双反斜杠\\,而非//,且该写法仅匹配单个[或],不是你要的[ ]完整子串。
  • ReplaceAll("/[/]","X"):同样转义方式错误,且仅匹配单个[,不符合需求。

正确解决方案

方案1:使用replace方法(推荐)

replace方法是字面量替换,不需要考虑正则特殊字符,直接匹配目标子串即可:

String value = "You are my star [ ] dear";
String result = value.replace("[ ]", "X");
// 结果:"You are my star X dear"

方案2:使用replaceAll方法(正则方式)

如果一定要用replaceAll,需要将正则中的特殊字符[和]转义(用\\),同时匹配中间的空格:

String value = "You are my star [ ] dear";
String result = value.replaceAll("\\[ \\]", "X");
// 结果:"You are my star X dear"

内容的提问来源于stack exchange,提问作者Alan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 10:55:31