如何从java字符串中删除[]和()

如何从java字符串中删除[]和(),java,string,replace,Java,String,Replace,我想从我的java字符串中删除[,],(和)。 我尝试了.replaceAll(“(”,”);和.replaceAll(“[”,”);但没有成功。在我的程序中,str是从文件中读取的 String str = "I [need] this ]message () without (this[])"; 您可能已经找到了解决方案,但是replaceAll方法不会修改字符串。请将结果保存在变量中: String str = "I [need] this ]message () without (th

我想从我的java字符串中删除[,],(和)。 我尝试了
.replaceAll(“(”,”);
.replaceAll(“[”,”);
但没有成功。在我的程序中,str是从文件中读取的

String str = "I [need] this ]message () without (this[])";

您可能已经找到了解决方案,但是
replaceAll
方法不会修改字符串。请将结果保存在变量中:

String str = "I [need] this ]message () without (this[])".replaceAll("[()\\[\\]]", "");

参数
“[()\[\\]]”
是一个正则表达式。外部的
[]
表示:内部符号之一。这些符号是
。此外,您希望匹配
[
]
。但是您必须将
\
放在它们之前,因为它们具有特殊的含义(“其中之一”).

您可能已经找到了解决方案,但是
replaceAll
方法不会修改字符串。请将结果保存在变量中:

String str = "I [need] this ]message () without (this[])".replaceAll("[()\\[\\]]", "");

参数
“[()\[\\]]”
是一个正则表达式。外部的
[]
表示:内部符号之一。这些符号是
。此外,您希望匹配
[
]
。但是您必须将
\
放在它们之前,因为它们具有特殊的含义(“其中之一”).

您需要转义
[
]
。您可以使用
\
这样做

String str = "I [need] this ]message () without (this[])";
str = str.replaceAll("[\\[\\]\\(\\)]", "");
System.out.println(str);
输出为

I need this message  without this

您需要转义
[
]
。您可以使用
\
这样做

String str = "I [need] this ]message () without (this[])";
str = str.replaceAll("[\\[\\]\\(\\)]", "");
System.out.println(str);
输出为

I need this message  without this

在replaceAll语句中,需要在[和]之前添加一个双反斜杠

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

(仅供参考,单个\将不起作用,因为它将进行计算)作为转义特殊字符,)

您需要在[和]之前添加双反斜杠(在replaceAll语句中:

str = str.replaceAll("\\[", "").replaceAll("\\(", "").replaceAll("\\]", "").replaceAll("\\)", "");
(仅供参考,单个\将不起作用,因为它将进行评估)作为转义特殊字符,)

同时使用“(”和“[”在正则表达式中具有特殊含义。必须对它们进行适当的转义,否则正则表达式将无法解析并引发异常。此外,请练习包含观察到的行为,包括输出,而不是几乎无用的“it't not work”语句。两者均为“(”和“[”在正则表达式中具有特殊含义。必须对它们进行适当的转义,否则正则表达式将无法解析并引发异常。此外,请练习包含观察到的行为,包括输出,而不是几乎无用的“it't not work”语句。