помогите решить задачку. Условие ниже
Вам дано предложение: s = "There is some numbers: 49 and 432. How, to? split. text! I 123 can 45 play 67 football.". С помощью библиотеки re вам нужно из исходного предложения удалить всё кроме слов, точки, восклицательного знака и знака вопроса. Слова и наши знаки окончания предложения должны быть разделены пробелом. Символы приведены к нижнему регистру. Используйте метод sub или findall. вот тут моя попытка сделать это самостоятельно:
import re
s=input()
s=s.lower()
re = re.sub("[49325671,:]", '', s)
res = ''.join(map(lambda ch: ch+' ', re))
print(res)
Ответы (1 шт):
Автор решения: Dmitry
→ Ссылка
Ну, что, ж, следуя вашей логике:
import re
s = "There is some numbers: 49 and 432. How, to? split. text! I 123 can 45 play 67 football."
s = s.lower()
pattern = r":?\s\d{1,}|,"
# буквально значит "двоеточие (ноль или больше раз), пробельный символ, любая цифра (один или более раз) ИЛИ запятая
t = re.sub(pattern, "", s)
и как результат имеем:
>>> t
'there is some numbers and. how to? split. text! i can play football.'