Введение
В Python строка представляет собой последовательность символов, заключенных в одинарные или двойные кавычки. Иногда нам нужно извлечь отдельные слова из строки. В этом испытании вам нужно написать функцию, которая принимает строку и возвращает список слов.
Преобразование строки в слова
Напишите функцию string_to_words(s: str, pattern: str = '[a-zA-Z-]+') -> List[str], которая принимает на вход строку s и необязательную строку pattern и возвращает список слов в строке.
- Функция должна использовать
re.findall()с заданнымpatternдля нахождения всех совпадающих подстрок. - Если аргумент
patternне указан, функция должна использовать стандартное регулярное выражение, которое соответствует буквенно-цифровым символам и дефисам.
import re
def words(s, pattern = '[a-zA-Z-]+'):
return re.findall(pattern, s)
words('I love Python!!') ## ['I', 'love', 'Python']
words('python, javaScript & coffee') ## ['python', 'javaScript', 'coffee']
words('build -q --out one-item', r'\b[a-zA-Z-]+\b')
## ['build', 'q', 'out', 'one-item']
Резюме
В этом испытании вы узнали, как извлекать отдельные слова из строки с использованием регулярных выражений в Python. Теперь вы можете использовать эту функцию для разделения строки на слова и выполнения дальнейших операций с ними.