= sub('[^a-z ]',"",s,I)
print(s) # co_ol f0un%(c)t-io"n
print(ans) # cool fun%(c)t-io"n
return ans
Почему sub не удаляет все символы которые входят в сет, т.е. не буквы и не пробел? А удаляет только underscore и 0?
А вот так работает:
from re import sub, match, I
def remove_chars(s):
ans = str("".join(x for x in s if match('[a-z ]',x)))
print(s)
print(ans)
return ans
В чем же секрет не функционирования sub?
Ошибка в том, что в методе re.sub флаг игнорирования регистра стоит на месте аргумента count.
Обсуждают сегодня