В отличие от всех остальных, использующих регулярные выражения, я бы попытался исключить каждый символ, который не , что я хочу, вместо того, чтобы явно перечислять то, что я не хочу.
Например, если мне нужны только символы от «a до z» (верхний и нижний регистр) и цифры, я бы исключил все остальное:
import re
s = re.sub(r"[^a-zA-Z0-9]","",s)
Это означает «заменить каждый символ, который не является числом, илисимвол в диапазоне 'от a до z' или от 'A до Z' с пустой строкой ".
Фактически, если вы вставите специальный символ ^
в первое место вашего регулярного выражения, вы получитеотрицание.
Дополнительный совет: если вам также нужно строчные буквы результат, вы можете сделать регулярное выражение еще быстрее и проще, если вы не найдете никаких заглавных букв сейчас.
import re
s = re.sub(r"[^a-z0-9]","",s.lower())