如何从字符串中删除一些字符
我想从我的字符串中删除以下所有字符
">[],-"
目前我正在这样做。但必须有更有效的方法
newString = myString.replace(">","").replace("[","").replace("]","")....
我想从我的字符串中删除以下所有字符
">[],-"
目前我正在这样做。但必须有更有效的方法
newString = myString.replace(">","").replace("[","").replace("]","")....
使用描述要替换的所有字符的正则表达式,并使用替换与正则表达式匹配的所有内容的方法:
newString = myString.replaceAll("[<>\\[\\],-]", "");
(编辑:实际上,我不认为应该逃脱。我忘了将反斜杠加倍,因为它们将被解释两次:一次由Java编译器解释,另一次由正则表达式引擎解释。<>
可以使用类的方法。replaceAll
String
您可以形成一个由要删除的字符组成的字符类。替换字符串将为空字符串 。""
但是,要删除的要放入字符类中的字符可能是正则表达式元字符,因此需要转义。您可以手动转义它们,因为许多答案显示,或者您可以使用该方法。Pattern.quote()
String charToDel = ">[],-";
String pat = "[" + Pattern.quote(charToDel) + "]";
String str = "a>b[c]d,e-f";
str = str.replaceAll(pat,"");