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