使用正则表达式从字符串中去除方括号?

3

如何在Java中从给定的字符串中删除所有方括号(“[]”)?

String s = "[abcdefg]";
s = s.replaceAll(regex, "");

在这种情况下应使用哪个正则表达式?

2
这是你想要的吗:无论字符串中是否在中间,都删除所有的 [] 吗?还是只删除匹配的 []?答案可能不同。 - nhahtdh
2个回答

11
使用这个:
 String s = "[abcdefg]";
 String regex = "\\[|\\]";
 s = s.replaceAll(regex, "");
 System.out.println(s);

2

你可以使用类似 "\\[([^\\]])\\]" 的东西来匹配它(开方括号,任何不是闭合方括号的序列(用()包裹以供后续参考),然后跟着一个闭合方括号),然后用()块内匹配到的内容(第一组)替换整个匹配(第零组)。


嗯,实际上OP从未提到括号应该被正确地内联。 - Ivaylo Strandjev
@IvayloStrandjev - 真的,但对我来说似乎是一个合理的假设。 - radai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接