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

Java如何使用正则表达式移除数组中所有括号?

移除数组字符串中剩余括号的解决方案

看起来你现在的正则只处理了最外层的首尾括号,导致中间的方括号残留了。针对你需要循环处理任意大小数组的需求,这里有个简单有效的正则方案:

直接移除所有方括号

如果你想要彻底去掉所有的方括号,只保留带引号的元素,直接用匹配所有[和]的正则即可:

String result = picset.replaceAll("[\\[\\]]", "");

效果演示

拿你提供的数组字符串来说:
原输入:[["12","21","31","41"],["empty","22","32","42"],["13","23","33","43"]]
处理后会得到:"12","21","31","41","empty","22","32","42","13","23","33","43"

正则解释

  • [\\[\\]] 是一个字符类,表示匹配[或者]这两个字符中的任意一个
  • replaceAll会遍历整个字符串,把所有匹配到的方括号替换为空字符串,不管它们出现在什么位置,完美适配任意大小和嵌套层级的数组字符串

为什么你原来的正则不行?

你之前用的"\\[\\[\"|\"\\]\\]|"有两个问题:

  1. 最后多余的|会匹配空字符串,完全没有作用,反而可能导致不必要的空替换
  2. 只处理了最外层的开头[["和结尾"]],完全没管中间的],[这类方括号,所以才会残留"],["和首尾的部分括号

如果你的需求不是移除所有方括号,而是有其他格式要求,可以补充说明,但从你给出的示例来看,这个方案应该是最贴合需求的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:37:02