Удаление лишних пробелов в строке
Функция нормализует имя и выводит его без лишних пробелов
def normalize_name(s):
s=s.title()
s=re.sub(r'\s+', ' ', s)
return s
name=input()
print(normalize_name(name))
Но когда я ввожу :
sir Arthur Conan Doyle
между словами пробелы убирает, а в начале и в конце всё равно остаются лишние пробелы.
s=re.sub(r'\s+', ' ', s)
- что тут не так?
Ответы (1 шт):
Автор решения: strawdog
→ Ссылка
Лишние пробелы у вас не "остаются" - вы их сами ставите, заменяя несколько пробелов "\s+" (один и больше) на один пробел (" "). поэтому я вам советую сначала избавиться от крайних пробелов, а потом применять re.sub:
s =" sir Arthur Conan Doyle "
s = s.strip()
s = re.sub(r"\s+"," ", s)
sir Arthur Conan Doyle