Перейти к содержимому

Как разделить строку на слова python

  • автор:

Методы строк в Python

Строки — это последовательности, а значит любые операции над последовательностями для них работают тоже:

print(len('Hello world')) # Выведет: 11 print('Hello world'[6:]) # Выведет: 'world' print('Hello world'.count('l')) # Выведет: 3 

Все методы строк перечислены на специальной странице в документации. Здесь мы продемонстрирует работу некоторых из них.

Примеры методов строк

str.split

Возьмём строку, содержащую пробелы, перенос строки и табы:

print('Hi!\n\tMy name is Bob.') 

Метод str.split позволяет разбить строку на список из нескольких строк по “пробельным” символам:

print('Hi!\n\tMy name is Bob.'.split()) # Выведет ['Hi!', 'My', 'name', 'is', 'Bob.'] 

Строку можно разбить и по конкретному символу. Вот так можно разбить строку на слова исключительно по пробелам:

print('Hi!\n\tMy name is Bob.'.split(' ')) # Выведет ['Hi!\n\tMy', 'name', 'is', 'Bob.'] 

str.join

join — антоним split , и может соединить строку, например, обратно по пробелам:

print(' '.join(['Hi!\n\tMy', 'name', 'is', 'Bob.'])) 

Обратите внимание на синтаксис: сначала идёт строка, по которой нужно склеить список строк, а уже в скобочках идёт список строк.

str.isdigit и str.isalpha

Среди методов строк реализовано много рутиных операций. Например, можно проверить, состоит ли строка только из цифр или только из букв:

>>> print('123'.isdigit()) True >>> print('Hello'.isdigit()) False >>> print('Hello'.isalpha()) True >>> print('Hello!'.isalpha()) False 

str.rjust, str.ljust и str.center

В другой статье мы описали, как с помощью этих методов выравнивать строки по ширине.

Попробуйте бесплатные уроки по Python

Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.

Переходите на страницу учебных модулей «Девмана» и выбирайте тему.

Python. Разбить строку на слова с учётом кавычек

Предположим, вы собираете архив статей, и хотите для каждой автоматически определять теги — по ним можно будет моментально найти статью в архиве. В качестве тегов решили брать топ-3 слова из текста.

Например, такая статья:

text = """Голубь Френк прибыл в отель "Четыре сезона" с дружеским визитом. По сообщениям очевидцев, он сожрал в ресторане киноа прямо из тарелки гостя, а затем клюнул в глаз прибежавшего на шум официанта. Френк прилетает в "Четыре сезона" каждый год. В прошлый раз мерзкая птица нагадила в ванну с шампанским в королевском люксе, лишив кого-то романтического вечера.""" 

Вы чистите текст от пунктуации, бьёте по пробелам и считаете слова. Вот топ-3:

[('френк', 2), ('четыре', 2), ('сезона', 2)] 

Но погодите, разве правильно считать «четыре» и «сезона» разными тегами? Это ведь название отеля, лучше учитывать их как одно словосочетание. Тут-то и пригодится функция shlex.split() — она трактует словосочетания в кавычках как один токен:

# слегка чистим text, для краткости опускаю import shlex from collections import Counter words = shlex.split(text) words = [word for word in words if len(word) > 3] Counter(words).most_common(3) [('френк', 2), ('четыре сезона', 2), ('голубь', 1)] 

Вот теперь теги что надо!

P.S. Вообще, shlex предназначен для разбора shell-подобных строк, так что если злая судьба заставит вас парсить bash-скрипты — вы знаете, куда смотреть.

Подписывайтесь на канал, чтобы не пропустить новые заметки ��

Как разделить строку на слова python

Запись: and-semakin/mytetra_data/master/base/1575203459y0kbg1is44/text.html на raw.githubusercontent.com

>>> a=’Beautiful, is; better*than\nugly’

[‘Beautiful’, ‘is’, ‘better’, ‘than’, ‘ugly’]

  • Закодировать файл в base64 на Python
  • Рекурсивное создание директорий в Python
  • Сортировка в Python
  • Правильно добавить год/месяц к дате в Python
  • Отформатировать дату в Python
  • Получить рабочую директорию и директорию со скриптом в Python
  • Копия объекта в Python
  • Время выполнения программы на Python
  • Конвертировать datetime.timedelta в строку
  • Парсинг даты в Python
  • Конвертировать строку (str) в булевый тип (bool) в Python
  • Получить местный часовой пояс в Python
  • Проверить, что строка соответствует регулярному выражению в Python
  • Просмотреть доступные версии модулей в PIP
  • Получить целочисленный Unix timestamp в Python
  • getter и setter в Python
  • Настроить формат вывода логов в Python
  • Получить переменную окружения в Python
  • Обновить пакет в PIP
  • Получить имя (хостнейм) машины из Python
  • Вывести стэк вызовов при возникновении исключения в Python
  • Функция eval в Python
  • Дозаписывать (append) в файл в Python
  • Препроцессинг кода в Python
  • Проверить, что программа установлена из Python
  • Настроить путь для импорта библиотек в Python
  • Получить размер терминала в символах в Python
  • Enum с дополнительными полями в Python
  • Ошибка invalid command ‘bdist_wheel’ при установке пакета через PIP
  • Получить список аргументов функции из Python
  • Сделать словарь только для чтения в Python
  • Заматчить любой символ, включая перевод строки, в регулярных выражениях на Python
  • Получить список файлов в директории через pathlib в Python
  • Вывести действительное число с округлением до нескольких символов после запятой в Python
  • Вывод в терминал текста с цветами в Python
  • Перезагрузить импортированный модуль в Python
  • Безопасно создать список/словарь/любой объект из строкового представления в Python
  • Аналог декоратора @property для методов класса в Python
  • Перехватить ошибку TimeoutError в asyncio
  • Отключить вывод логов в Python
  • Уровни логгирования в Python
  • Удалить *.pyc и __pycache__ файлы
  • Выгрузить объект в JSON в Unicode в Python
  • Конвертировать datetime в другую часовую зону в Python
  • Дополнить строку нулями в Python
  • Вычислить MD5 от строки в Python
  • Удалить знаки пунктуации из строки в Python
  • Проверить, что первая буква в строке — заглавная, в Python
  • Разбить (split) строку по нескольким разделителям в Python
  • Отсортировать версии в Python
  • Распаковать любой архив в Python
  • Получить имя текущего скрипта на Python
  • Установка pip на Python 2.6
  • Отличить печатаемый символ Unicode от непечатаемого на Python
  • Вывести версию интерпретатора Python в машиночитаемом виде
  • Найти место, куда Python устанавливает пакеты (dist-packages, site-packages)

Метод str.split() в Python, делит строку по подстроке

Метод str.split() возвращает список слов (подстрок) в строке, используя sep в качестве разделителя строки str . Если задан maxsplit , то выполняется не более maxsplit разбиений, таким образом, список будет иметь не более maxsplit+1 элементов. Если maxsplit не указан или равен -1 , то делаются все возможные разделения строки str .

Если указан разделитель sep , то последовательные разделители в обрабатываемой строке не группируются вместе, а считаются разделителями пустых подстрок. Аргумент sep может состоять из нескольких символов. Разбиение пустой строки str с указанным разделителем возвращает значение [«] . Например:

# Последовательные разделители не группируются вместе. # и считаются разделителями пустых строк >>> '1,,2'.split (',') # ['1', ", '2']) #Аргумент 'sep' может состоять из нескольких символов. >>> '1<>2<>3'.split ('<>') # ['1', '2', '3']) # Разбиение пустой строки с указанным разделителем. >>> ''.split(';') [''] 

Если sep не указан или задан None , применяется другой алгоритм разбиения:

Последовательности пробелов рассматриваются как один разделитель и если строка имеет начальные или конечные пробелы, то результат не будет содержать пустых строк в начале или конце. Следовательно, разбиение пустой строки или строки, состоящей только из пробела с разделителем None , возвращает пустой список [] .

Смотрите так же метод str.rsplit() , который начинает деление строки справа.

Если необходимо разделить строку на список подстрок по регулярному выражению, то обратите внимание на функцию re.split() .

Примеры деления строки по подстроке/символу.

>>> '1,2,3'.split(',') # ['1', '2', '3'] >>> '1,2,3'.split(',', maxsplit=1) # ['1', '2,3'] >>> '1,2,,3,'.split(',') # ['1', '2', '', '3', ''] >>> '1 2 3'.split() # ['1', '2', '3'] >>> '1 2 3'.split(maxsplit=1) # ['1', '2 3'] >>> ' 1 2 3 '.split() # ['1', '2', '3'] >>> '--1-3--2'.split('-') # ['', '', '1', '3', '', '2'] 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Метод str.capitalize(), первая буква в строке заглавная
  • Метод str.casefold(), сворачивает регистр строки
  • Метод str.center(), выравнивает строку по центру
  • Метод str.count(), считает совпадения в строке
  • Метод str.encode(), преобразует строку в байты
  • Метод str.endswith(), совпадение с концом строки
  • Метод str.expandtabs(), меняет табуляцию на пробел
  • Метод str.find(), индекс первого совпадения в строке
  • Метод str.format(), форматирует строку
  • Метод str.format_map()
  • Метод str.index(), индекс первого совпадения подстроки
  • Метод str.isalnum(), строка состоит из цифр и букв
  • Метод str.isalpha(), строка состоит только из букв
  • Метод str.isascii(), все символы в строке являются ASCII
  • Метод str.isdecimal(), проверяет строку на десятичное число
  • Метод str.isdigit(), строка состоит только из цифр
  • Метод str.isidentifier() проверяет строку на идентификатор Python
  • Метод str.islower( ), проверяет строку на нижний регистр
  • Метод str.isnumeric(), проверяет строку на числовые символы
  • Метод str.isprintable(), проверяет на доступность для печати
  • Метод str.isspace(), является ли строка пробелом
  • Метод str.istitle(), проверяет наличие заглавных букв в словах
  • Метод str.isupper(), проверяет строку на верхний регистр
  • Метод str.join(), объединяет список строк
  • Метод str.ljust(), ровняет строку по левому краю
  • Метод str.lower(), строку в нижний регистр
  • Метод str.lstrip(), обрезает символы в начале строки
  • Метод str.maketrans(), таблица символов для str.translate()
  • Метод str.partition(), делит строку по первому совпадению
  • Метод str.removeprefix(), удаляет префикс строки
  • Метод str.removesuffix(), удаляет суффикс строки
  • Метод str.replace(), меняет подстроку/символ в строке
  • Метод str.rfind(), индекс последнего совпадения подстроки
  • Метод str.rindex(), индекс последнего совпадения в строке
  • Метод str.rjust(), ровняет строку по правому краю
  • Метод str.rpartition(), делит строку по последнему совпадению
  • Метод str.rsplit(), делит строку справа
  • Метод str.rstrip(), обрезает символы на конце строки
  • Метод str.split(), делит строку по подстроке
  • Метод str.splitlines(), делит текст по символу ‘\n’
  • Метод str.startswith(), совпадение с началом строки
  • Метод str.strip(), обрежет строку с обоих концов
  • Метод str.swapcase(), сменит регистр символов в строке
  • Метод str.title(), каждое слово с заглавной буквы
  • Метод str.translate(), транслирование строки
  • Метод str.upper(), переведет строку в верхний регистр
  • Метод str.zfill(), дополнит строку нулями
  • Форматирование строк в стиле printf
  • F-string. Форматированные строки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *