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. Виклик з кортежем суфіксів
# Перевірка, заданий рядок завершується кортежем суфіксів
arrS = ( 'ab', 'zz', 'w' ) # сформувати кортеж

# деякий рядок
s2 = "abcdej zz"

f_is = s2.endswith(arrS) # 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','e','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','e','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'

 


Зв’язані теми