java替换特殊字符,如何替换字符串中的特殊字符?

那取决于你的意思。如果您只是想摆脱它们,请执行以下操作:(

更新:显然您也想保留数字,在这种情况下,请使用第二行)

String alphaOnly = input.replaceAll("[^a-zA-Z]+","");

String alphaAndDigits = input.replaceAll("[^a-zA-Z0-9]+","");

或等效的:

String alphaOnly = input.replaceAll("[^\\p{Alpha}]+","");

String alphaAndDigits = input.replaceAll("[^\\p{Alpha}\\p{Digit}]+","");

(通过预编译正则表达式模式并将其存储为常量,可以显着改善所有这些功能)

或者,用番石榴:

private static final CharMatcher ALNUM =

CharMatcher.inRange('a', 'z').or(CharMatcher.inRange('A', 'Z'))

.or(CharMatcher.inRange('0', '9')).precomputed();

// ...

String alphaAndDigits = ALNUM.retainFrom(input);

你可能感兴趣的:(java替换特殊字符,如何替换字符串中的特殊字符?)