Страницы

Поиск по вопросам

четверг, 4 апреля 2019 г.

Получение первого слова из строки

Изучаю python, есть задачка - получить первое слово из строки. Строка может начинаться с пробелов, точек и т.д (".... пример, строки "). Нужна функция, которая вернет слово "пример". Мой код в котором получилось получить слово, но избавиться от запятой не получается :
def splitText(string: str): splitted = string.split() for x in range(len(splitted)): if splitted[x].isalpha(): print(splitted[x]) break

splitText("Hello world")
выведет "Hello", но если строка будет вида "Hello, world", то выведет "world"


Ответ

В таком подходе будут найдены все слова:
>>> import re >>> word = '.... пример, строки' >>> pattern = re.compile(r'\w+') >>> pattern.findall(word)[0] 'пример'
В таком, только первое совпадение:
>>> pattern.search(word).group() 'пример'
Пример без регулярок:
>>> for i in word: ... if not i.isalpha() and i != ' ': ... word = word.replace(i, '') ... >>> word ' пример строки' >>> word.split()[0].strip() 'пример'

Комментариев нет:

Отправить комментарий