Python: поиск подстроки, операции со строками. Как выполнять поиск в строке Python?

1,7K прочитали
 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.
Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.

В этой статье поговорим про строки в Python, особенности поиска, а также о том, как искать подстроку или символ в строке. Но сначала давайте вспомним основные методы для обработки строк в Python:

isalpha(str): если строка в Python включает в себя лишь алфавитные символы, возвращается True;

islower(str): True возвращается, если строка включает лишь символы в нижнем регистре;

isupper(str): True, если символы строки в Python находятся в верхнем регистре;

startwith(str): True, когда строка начинается с подстроки str;

isdigit(str): True, когда каждый символ строки — цифра;

endwith(str): True, когда строка в Python заканчивается на подстроку str;

upper(): строка переводится в верхний регистр;

lower(): строка переводится в нижний регистр;

title(): для перевода начальных символов всех слов в строке в верхний регистр;

capitalize(): для перевода первой буквы самого первого слова строки в верхний регистр;

lstrip(): из строки в Python удаляются начальные пробелы;

rstrip(): из строки в Python удаляются конечные пробелы;

strip(): из строки в Python удаляются и начальные, и конечные пробелы;

rjust(width): когда длина строки меньше, чем параметр width, слева добавляются пробелы, строка выравнивается по правому краю;

ljust(width): когда длина строки в Python меньше, чем параметр width, справа от неё добавляются пробелы для дополнения значения width, при этом происходит выравнивание строки по левому краю;

find(str[, start [, end]): происходит возвращение индекса подстроки в строку в Python. В том случае, если подстрока не найдена, выполняется возвращение числа -1;

center(width): когда длина строки в Python меньше, чем параметр width, слева и справа добавляются пробелы (равномерно) для дополнения значения width, причём происходит выравнивание строки по центру;

split([delimeter[, num]]): строку в Python разбиваем на подстроки в зависимости от разделителя;

replace(old, new[, num]): в строке одна подстрока меняется на другую;

join(strs): строки объединяются в одну строку, между ними вставляется определённый разделитель.

Обрабатываем строку в Python

Представим, что ожидается ввод числа с клавиатуры. Перед преобразованием введенной нами строки в число можно легко проверить, введено ли действительно число. Если это так, выполнится операция преобразования. Для обработки строки используем такой метод в Python, как isnumeric():

 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.-2

Следующий пример позволяет удалять пробелы в конце и начале строки:

 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.-3

Так можно дополнить строку пробелами и выполнить выравнивание:

 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.-4

В консоли Python будет выведено следующее:

 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.-5

Поиск подстроки в строке

Чтобы в Python выполнить поиск в строке, используют метод find(). Он имеет три формы и возвращает индекс 1-го вхождения подстроки в строку:

find(str): поиск подстроки str производится с начала строки и до её конца;

find(str, start): с помощью параметра start задаётся начальный индекс, и именно с него и выполняется поиск;

find(str, start, end): посредством параметра end задаётся конечный индекс, поиск выполняется до него.

Когда подстрока не найдена, метод возвращает -1:

 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.-6

Замена в строке

Чтобы в Python заменить в строке одну подстроку на другую, применяют метод replace():

• replace(old, new): подстрока old заменяется на new;

• replace(old, new, num): параметр num показывает, сколько вхождений подстроки old требуется заменить на new.

Пример замены в строке в Python:

 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.-7

Разделение на подстроки в Python

Для разделения в Python используется метод split(). В зависимости от разделителя он разбивает строку на перечень подстрок. В роли разделителя в данном случае может быть любой символ либо последовательность символов. Этот метод имеет следующие формы:

split(): в роли разделителя применяется такой символ, как пробел;

split(delimeter): в роли разделителя применяется delimeter;

split(delimeter, num): параметром num указывается, какое количество вхождений delimeter применяется для разделения. При этом оставшаяся часть строки добавляется в перечень без разделения на подстроки.

Соединение строк в Python

Рассматривая простейшие операции со строками, мы увидели, как объединяются строки через операцию сложения. Однако есть и другая возможность для соединения строк — метод join():, объединяющий списки строк. В качестве разделителя используется текущая строка, у которой вызывается этот метод:

 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.-8

А если вместо списка в метод join передать простую строку, разделитель будет вставляться уже между символами:

 Статья подготовлена для студентов курса «Разработчик Python» в образовательном проекте OTUS.-9

Приходите на курс «Разработчик Python» в OTUS. Не упустите свой шанс получить углубленные знания от практикующих экспертов!
ЗАПИСАТЬСЯ НА КУРС