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

В этой статье поговорим про строки в Python, особенности поиска, а также о том, как искать подстроку или символ в строке.
Но сначала давайте вспомним основные методы для обработки строк в Python: • isalpha(str) : если строка в Python включает в себя лишь алфавитные символы, возвращается True; • islower(str) : True возвращается, если строка включает лишь символы в нижнем регистре; • isupper(str) : True, если символы строки в Python находятся в верхнем регистре; • startswith(str) : True, когда строка начинается с подстроки str; • isdigit(str) : True, когда каждый символ строки — цифра; • endswith(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 будет выведено следующее:
Поиск подстроки в строке
Чтобы в Python выполнить поиск в строке, используют метод find() . Он имеет три формы и возвращает индекс 1-го вхождения подстроки в строку: • find(str) : поиск подстроки str производится с начала строки и до её конца; • find(str, start) : с помощью параметра start задаётся начальный индекс, и именно с него и выполняется поиск; • find(str, start, end) : посредством параметра end задаётся конечный индекс, поиск выполняется до него.
Когда подстрока не найдена, метод возвращает -1:
Замена в строке
Чтобы в Python заменить в строке одну подстроку на другую, применяют метод replace() : • replace(old, new): подстрока old заменяется на new; • replace(old, new, num): параметр num показывает, сколько вхождений подстроки old требуется заменить на new.
Пример замены в строке в Python:
Разделение на подстроки в Python
Для разделения в Python используется метод split() . В зависимости от разделителя он разбивает строку на перечень подстрок. В роли разделителя в данном случае может быть любой символ либо последовательность символов. Этот метод имеет следующие формы: • split() : в роли разделителя применяется такой символ, как пробел; • split(delimeter) : в роли разделителя применяется delimeter; • split(delimeter, num) : параметром num указывается, какое количество вхождений delimeter применяется для разделения. При этом оставшаяся часть строки добавляется в перечень без разделения на подстроки.
Соединение строк в Python
Рассматривая простейшие операции со строками, мы увидели, как объединяются строки через операцию сложения. Однако есть и другая возможность для соединения строк — метод join() :, объединяющий списки строк. В качестве разделителя используется текущая строка, у которой вызывается этот метод:
А если вместо списка в метод join передать простую строку, разделитель будет вставляться уже между символами:
Как проверить, содержит ли строка подстроки в Python?
Подстрока – это последовательность символов в строке. Ниже приведены методы в Python, чтобы проверить, содержит ли строка другой строки I.E. Подстрока.
- Автор записи
Подстрока – это последовательность символов в строке. Ниже приведены методы в Python, чтобы проверить, содержит ли строка другой строки I.E. Подстрока.
- Используя Найти () метод
- Используя в оператор
- Используя count () метод
- Используя str.index () метод
- Используя Оператор. Контроль () метод
Метод 1: с помощью метода Find ()
Метод находит () проверяет, содержит ли строка определенной подстроки или нет. Если строка содержит эту конкретную подстроку, метод возвращает начальный индекс подстроки, еще возвращается -1.
Синтаксис : string.find (подстрока)
Пример: проверка наличия подстроки в строке с использованием метода Find ()
Выход :
Способ 2: Используя у оператора
в Оператор проверяет наличие подстроки внутри строки, если подстрока присутствует, возвращает Правда еще возвращается Ложь Отказ
Синтаксис : подстрока в string_object
Пример: проверка наличия подстроки в строке с использованием оператора
Выход :
Способ 3: с использованием подсчета () метода
Метод Count () проверяет наличие подстроки в строке. Если подстрока не найдена в строке, он возвращает 0.
Синтаксис : string.count (подстрока)
Пример: проверка наличия подстроки в строке с использованием метода COUNT ()
Выход :
Способ 4: с помощью метода index ()
Способ проверяет наличие подстроки в строке. Если подстрока отсутствует в строке, то она не возвращает никакого значения, скорее он генерирует ValueError Отказ
Как проверить, содержит ли строка подстроку в Python
В Python нет метода string.contains() . Однако, чтобы проверить, содержит ли строка подстроку, вы можете просто использовать if x in my_string синтаксис:
Эта проверка чувствительна к регистру!
Если вам также нужно знать позицию подстроки, вы можете использовать string.find() :
str.find(sub[, start[, end]])
Возвращает наименьший индекс в строке, в которой находится подстрока в срезе s[start:end]. Необязательные аргументы start и end интерпретируются как в нотации среза. Вернуть -1, если подпрограмма не найдена.