如何从String中删除一些字符

cod*_*441 12 java string

我想从我的字符串中删除所有以下字符

"> [], - "

此刻我正在这样做.但必须有一种更有效的方式

newString = myString.replace(">","").replace("[","").replace("]","")....
Run Code Online (Sandbox Code Playgroud)

Kar*_*tel 15

使用描述所有要替换的字符的正则表达式,使用替换与正则表达式匹配的所有内容的方法:

newString = myString.replaceAll("[<>\\[\\],-]", "");
Run Code Online (Sandbox Code Playgroud)

(编辑:我认为<>实际上不应该被转义.我忘了加倍反斜杠,因为它们将被解释两次:一次是Java编译器,一次是正则表达式引擎.)


cod*_*ict 9

您可以使用该类的replaceAll方法String.

您可以形成由要删除的字符组成的字符类.并且替换字符串将为空字符串"".

但是您要删除的字符类中要删除的字符可能是正则表达式元字符,因此需要进行转义.你可以在许多答案显示时手动转义它们,或者你可以使用该Pattern.quote()方法.

String charToDel = ">[],-";
String pat = "[" + Pattern.quote(charToDel) + "]";
String str = "a>b[c]d,e-f";
str = str.replaceAll(pat,"");
Run Code Online (Sandbox Code Playgroud)

看见