Python разбить строку на слова

Python разбить строку на слова

Метод Python split() разбивает строку на части, используя специальный разделитель, и возвращает эти части в виде списка.

Синтаксис метода split() :

Параметры split()

В методе split() используется не более двух параметров:

  • разделитель ( необязательный параметр ) – строка разбивается на части с помощью указанного символа. Если разделитель не задан, то любая пробельная строка ( пробел, новая строка и т.д. ) считается разделителем;
  • maxsplit ( необязательный параметр ) определяет максимальное количество частей.

Если в maxsplit имеет значение -1 то, что количество разбиений строки неограниченно.
______________________________________________________________________________________________________

Возвращаемое значение в split()

Метод Python split string разбивает строку с помощью указанного спецсимвола и возвращает список подстрок.
______________________________________________________________________________________________________

Пример 1 : Как split() работает в Python ?

В результате выполнения данной программы с Python split методом вы увидите:

Пример 2 : Выполнение split() при заданном maxsplit :

На выходе получаем результат выполнения метода split Python 3 :

При заданном параметре maxsplit максимальное количество элементов в списке равно maxsplit+1 .

Данная публикация представляет собой перевод статьи « Python String split() » , подготовленной дружной командой проекта Интернет-технологии.ру

6 Rumman [2013-02-06 22:31:00]

Мне было интересно, есть ли простой способ сделать следующее:

Я понимаю, что вы можете сделать list(input) , но это возвращает список, и я хотел бы получить строку, а не список.

3 ответа

19 Решение NPE [2013-02-06 22:32:00]

Это использует тот факт, что строки являются итерабельными и дают отдельные символы при повторении.

5 PaulMcG [2013-02-06 22:32:00]

Поскольку NPE уже предоставил метод ‘,’.join(‘Hello’) , у меня есть другое решение (хотя оно может быть не более Pythonic):

5 июня 2016 г. 17:05

Если нужно распарсить строку по какому-то символу, то в простом случае можно воспользоваться функцией split(separator=’ ‘):

Но если у нас задача посложнее, например:

Читайте также:  Как вернуть боковую панель в опере

то появится проблема лишних пробелов.

Итак, рассмотрим следующую задачу: есть форма с одним полем categories, данные которого можно записывать как через запятую, так и каждую с новой строки. Нужно сформировать список введённых данных. Например, данные поля имеют вид:

Видим, что первая строчка состоит из трех элементов, затем лишние абзацы и, наконец, ещё одна категория. С помощью следующего кода можно распарсить данные:

Результат выполнения кода:

Немного прокомментирую код:

  • Для разбиения строк используем splitlines(), который — похож на split(), но использует в качестве разделителя символы перевода каретки (
    и
    ).
  • Условием if row отсекаем пустые строки.
  • Последней строкой кода мы используем генератор списка (без присваивания к переменной — оно нам не надо), чтобы компактнее записать код:
  • row.split(‘,’) разбивает строку, используя запятую в качестве разделителя.
  • ‘ ‘.join(item.split()) удаляет лишние пробелы между словами

Данный код не претендует на идеальность, но он достаточно читабельный — может, кому и пригодится!

Ссылка на основную публикацию
Adblock detector