Разделяем строку на подстроки

В PHP есть такая функция как explode(), позволяющая разбить строку на слова и результат возвращает в виде массива

explode(string $separator, string $string, int $limit = PHP_INT_MAX): array

В Python функции explode(), выполняющей те же действия нет, но есть аналогичная ей, это метод строки .split()

Не забываем что строка это объект.

string.split(separator*, maxsplit*)

Когда я не знал о методе .split(), написал свою функцию аналог explode


def explode(s_separator, s_string):
  s = ''
  out = []
  for item in s_string:
    if item != s_separator:
      s = s+item

    if item == s_separator:
      out.append(s)
      s = ''

  if s != '':
    out.append(s)

  return out

Применение функции:

s = 'какой первый день недели'

x = explode(' ',s);

print(x)

Результат:

[‘какой’, ‘первый’, ‘день’, ‘недели’]

Метод .split() для разделения строки на подстроки

Пример разделение строки на подстроки

s = 'какой первый день недели'
x = s.split(' ')
print(x)

Результат:

[‘какой’, ‘первый’, ‘день’, ‘недели’]

Пример разделения строки по нескольким разделителям


import re
s = 'какой,первый\nдень;недели'
x = re.split(',|\n|;', s)
print(x)

Результат:

[‘какой’, ‘первый’, ‘день’, ‘недели’]

Пример разделения строки с параметром maxsplit


s = 'какой первый день недели'
x = s.split(' ',1)
print(x)

Результат:

[‘какой’, ‘первый день недели’]

Обратите внимание что параметр maxsplit указывает, какой по счету разделитель использовать в строке для разбивки, в данном примере брался первый разделитель а последующие игнорировались

Оцените статью
Добавить комментарий