Python. Функции определяющие и обрабатывающие начало и конец строки




Функции определяющие и обрабатывающие начало и конец строки


Содержание


Поиск на других ресурсах:

1. Функция str.endswith(). Проверка окончания строки заданным суффиксом

Функция endswith() определяет, оканчивается ли строка указанным суффиксом. Согласно документации Python общая форма использования функции следующая:

f_is = s.endswith(suffix[, start[, end]])

где

  • s – исходная строка;
  • f_is – результат логического типа. Если строка s завершается заданным суффиксом suffix, то f_is = True. В противном случае f_is = False;
  • suffix – заданный суффикс или кортеж суффиксов, которые проверяются на наличие в строке s;
  • start, end – соответственно начало и конец подстроки, получаемой из строки s. Если заданы необязательные параметры start, end то фрагмент этой строки рассматривается.

Пример.

# Функция str.endswith()

# 1. Вызов с одним заданным суффиксом
s1 = "abcdef"
f1 = s1.endswith('ef') # f1 = True

# указать суффикс
suffix = "cdef"
# поиск в подстроке 'bcd'
f2 = s1.endswith(suffix, 1, 3) # f2 = false

# поиск в подстроке 'cdef'
f3 = s1.endswith(suffix, 2, len(s1)) # f3 = True

# 2. Вызов с кортежем суффиксов
# Проверка, завершается ли заданная строка кортежем суффиксов
arr = ( 'ab', 'zz', 'w' ) # сформировать кортеж

# некоторая строка
s2 = "abcdej zz"

f_is = s2.endswith(arr) # f_is = True

 

2. Функция str.startswith(). Проверка начала строки заданным префиксом

Функция str.startswith() проверяет, начинается ли строка заданным префиксом. Общая форма использования функции следующая:

f = str.startswith(prefix[, start[, end]])

где

  • f – результат логического типа. Если префикс в строке найден, то f = True (функция возвращает True). В противном случае f = False;
  • str – строка, в которой происходит поиск заданного префикса prefix;
  • prefix – заданный префикс;
  • start, end – необязательные параметры, задающие диапазон индексов строки str который пересматривается на наличие префикса. Фактически рассматривается диапазон индексов, находящихся в границах [start, end-1].

Пример.

# Функция str.startswith() - проверка префикса строки

# Случай 1. Не заданы параметры start, end
s = 'Hello world!'
f = s.startswith('He') # f = True
f = str.startswith(s, 'Hello') # f = True
f = s.startswith('abc') # f = False

# Случай 2. Задан параметр start
s = 'abcde'
f = s.startswith('bcd', 1) # f = True
f = s.startswith('bcd', 2) # f = False

f = 'jklmn'.startswith('+++', 6) # f = False

# Случай 3. Заданы оба параметра start, end
s = '0123456789'
f = s.startswith('234', 2, 5) # f = True
f = s.startswith('234', 2, 4) # f = False
f = s.startswith('234', 2, 7) # f = True

f = s.startswith('345', 1, 8) # f = False

# Случай 4. Пустая строка, пустой префикс
s = ''
f = str.startswith(s, '', 0, len(s)) # f = True


 

3. Функция str.lstrip(). Вернуть копию строки без заданных первых символов

Функция str.lstrip() возвращает копию строки, в которой удалены заданные начальные символы. Согласно документации Python общая форма использования функции следующая:

s2 = s1.lstrip([chars])

где

  • s1 – строка-оригинал, в которой будет осуществлена попытка удалить начальные символы из набора chars;
  • s2 – строка-результат с удаленными начальными символами;
  • chars – множество символов, которые рассматриваются как таковые, что требуют удаления. Если при просмотре строки s1 справа встречается символ, который не входит в множество chars, то удаление начальных символов прекращается. Если параметр chars не задан, то по умолчанию принимается символ пробел.

Пример.

# Функция str.lstrip() - вернуть строку без заданных первых символов

# 1. Вызов без указания множества символов, берется ко вниманию пробел
s1 = ' abcdef '
s2 = s1.lstrip() # s2 = 'abcdef ' - удаленные первые символы пробел

s1 = '+ abcdef'
s2 = str.lstrip(s1) # s2 = '+ abcdef' - символ пробел не удаляется

# 2. Вызов с указанием множества символов
s1 = 'sdefabcdef'
s2 = s1.lstrip('defs') # s2 = 'abcdef' - удалены символы 'd','е','f','s'

s2 = '+--+-abcdef'.lstrip('-+:;') # s2 = 'abcdef'

 

4. Функция str.rstrip(). Удаление символов от конца строки

Функция str.rstrip() возвращает копию строки, в которой удалены заданные конечные символы. Согласно документации Python общая форма использования функции следующая:

s2 = s1.rstrip([chars])

где

  • s1 – строка-оригинал, в которой будет осуществлена попытка удалить конечные символы из набора chars;
  • s2 – строка-результат с удаленными конечными символами;
  • chars – множество символов, которые рассматриваются как таковые, что требуют удаления. Если при просмотре строки s1 от конца до начала встречается символ, который не входит в множество chars, то удаление конечных символов прекращается. Если параметр chars не задан, то по умолчанию принимается символ пробел.

Пример.

# Функция str.rstrip() - вернуть строку без конечных заданных символов

# 1. Вызов функции без параметров
s1 = 'abcdef '
s2 = s1.rstrip() # s2 = 'abcdef ' - удаленные конечные символы пробел

s1 = 'abcdef +'
s2 = str.rstrip(s1) # s2 = 'abcdef +' - символ пробел не удаляется

# 2. Вызов с указанием множества символов
s1 = 'abcdefdfes'
s2 = s1.rstrip('defs') # s2 = 'abc' - удаленные конечные символы 'd','е','f','s'

s2 = 'abcdef+--++-'.rstrip('-+:;') # s2 = 'abcdef'

 

5. Функция str.strip(). Получить строку с удаленными начальными и конечными символами

Функция str.strip() возвращает копию строки с удаленными начальными и конечными заданными символами. Согласно документации Python общая форма использования функции следующая:

s2 = s1.strip([chars])

где

  • s1 – строка-оригинал, которая обрабатывается;
  • s2 – строка-копия, которая есть результатом работы функции;
  • chars – набор символов, которые нужно удалить. Если значение chars отсутствуюет, то, по умолчанию удаляются символы пробел. Параметр chars есть множеством, поэтому здесь порядок следования символов не имеет значения. Если при просмотре от начала или от конца строки встречаются символы из набора chars, то происходит их удаление. Символы удаляются до тех пор, пока не встретится символ, которого нет в наборе chars.

Пример.

# Функция str.strip() - удаляет заданные символы от начала и от конца строки

# Случай 1. Параметр chars не задан - удаляются пробелы
s1 = ' abcd jkl '
s2 = str.strip(s1) # s2 = 'abcd jkl'

s1 = ' ' # в строке все символы пробел
s2 = s1.strip() # s2 = '' - пустая строка

# Случай 2. Параметр chars задан
s1 = '+=-=+abcd+-='
s2 = s1.strip('+-=') # s2 = 'abcd'
s2 = s1.strip('=') # s2 = '+=-=+abcd+-'
s2 = '..... ,,...This is a string...'.strip(',. ') # s2 = 'This is a string'

 


Связанные темы

 


 

0
fb-share-icon20