Java将所有方括号替换为字符串

我想从字符串中删除方括号,但我不知道如何。

String str = "[Chrissman-@1]";

str = replaceAll("\\[\\]", "");

String[] temp = str.split("-@");

System.out.println("Nickname: " + temp[0] + " | Power: " + temp[1]);

但是我的结果是:[克里斯曼| 1]方括号不会被删除。

我尝试使用其他正则表达式:"\\[.*?\\]""\\[\\d+\\]" 但结果相同,方括号仍附加在字符串上。

编辑:

我试过了:

str.replaceAll("]", "");

str.replaceAll("[", "");

现在我得到:

Exception in thread "Thread-4" java.util.regex.PatternSyntaxException: Unclosed character class near index 0

[

^

at java.util.regex.Pattern.error(Unknown Source)

at java.util.regex.Pattern.clazz(Unknown Source)

at java.util.regex.Pattern.sequence(Unknown Source)

at java.util.regex.Pattern.expr(Unknown Source)

at java.util.regex.Pattern.compile(Unknown Source)

at java.util.regex.Pattern.<init>(Unknown Source)

at java.util.regex.Pattern.compile(Unknown Source)

at java.lang.String.replaceAll(Unknown Source)

回答:

replaceAll方法正在尝试匹配尝试单独替换这些项目时[]不存在的String文字String

String str = "[Chrissman-@1]";

str = str.replaceAll("\\[", "").replaceAll("\\]","");

以上是 Java将所有方括号替换为字符串 的全部内容, 来源链接: utcz.com/qa/416266.html

回到顶部