public static final String specialChars1= "\\W\\S";
String str2 = str1.replaceAll(specialChars1, "").replace(" ", "+");
public static final String specialChars2 = "`~!@#$%^&*()_+[]\\;\',./{}|:\"<>?";
String str2 = str1.replaceAll(specialChars2, "").replace(" ", "+");
不管str1
是什么,我都希望删除除字母和数字以外的所有字符,并将空格替换为加号 ( +
)。
我的问题是,如果我使用specialChar1
,它不会删除一些字符,如;
, '
, "
,如果我使用specialChar2
它会给我一个错误:
java.util.regex.PatternSyntaxException: Syntax error U_REGEX_MISSING_CLOSE_BRACKET near index 32:
这怎么可能实现?我已经搜索但找不到完美的解决方案。