我有这个代码
public String StripText(String name){
String stripped = name.replaceAll("/:!@#$%^&*()<>+?\"{}[]=`~;", "");
return stripped;
}
这不起作用。我希望它返回一个字符串,删除出现的字符,如“/”“:”“!” “@”等。
例如如果我给它一个字符串“puppy:)love”,我希望它返回一个仅包含“puppylove”的字符串。
最佳答案
您只需将所有字符放入 character class 中即可通过“字符类”(也称为“字符集”),您可以告诉正则表达式引擎仅匹配多个字符中的一个。只需将要匹配的字符放在方括号之间即可。
String stripped = name.replaceAll("[/:!@#$%^&*()<>+?\"{}\\[\\]=`~;]", "");
您还需要转义字符类中存在的 [
, ]
字符,否则会将第一个 ]
视为 charclass 的结尾.
示例:
String name = "[{puppy:)love}]";
String stripped = name.replaceAll("[/:!@#$%^&*()<>+?\"{}\\[\\]=`~;]", "");
System.out.println(stripped);
输出:
puppylove
关于java - Android 中如何去掉不需要的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425152/