Может кто-нибудь показать мне, как сделать регулярное выражение Java, которое принимает строку и возвращает строку со всеми удаленными символами, НО a-z и 0-9?
т.е. учитывая строку a%4aj231*9.+ она вернет a4aj2319
a%4aj231*9.+
a4aj2319
спасибо.
\ d - это цифра, \ p {L} - это a-z и A-Z.
str.replaceAll("[^\\d\\p{L}]", "");
str = str.replaceAll("[^a-z0-9]+", "");
Если вы также хотите включить заглавные буквы, вы можете использовать
str = str.replaceAll("[^A-Za-z0-9]+", "");
или чуть-чуть
str = str.replaceAll("[_\\W]+", "");
Если вы хотите a-z и 0-9, но не A-Z, тогда
str.replaceAll("[^\\p{Lower}\\p{Digit}]", "");