Методы работы со строками
Python предоставляет множество встроенных методов для работы со строками.
Рассмотрим некоторые из них: split()
, join()
, strip()
, а также другие полезные методы.
Метод split()
Метод split()
разбивает строку на список подстрок по указанному разделителю. Если разделитель не указан, по умолчанию используется пробел.
Задача разделения строки невероятно часто встречается при разработке веб-приложений, одна из частых задач, разбиение URL адреса по символу /, для получения частей адреса.
Метод join()
Метод join()
объединяет элементы списка (или другого итерируемого объекта) в одну строку, используя строку, к которой применяется метод, в качестве разделителя.
Метод strip()
Метод strip()
удаляет пробельные символы (или другие указанные символы) с начала и конца строки.
Метод replace()
Метод replace()
заменяет все вхождения одной подстроки на другую.
Метод find()
Метод find()
возвращает индекс первого вхождения подстроки в строке. Если подстрока не найдена, возвращает -1.
Метод startswith()
и endswith()
Методы startswith()
и endswith()
проверяют, начинается ли или заканчивается ли строка с указанной подстроки.
Метод lower()
и upper()
Методы lower()
и upper()
преобразуют строку к нижнему или верхнему регистру соответственно.
Представьте, что вы запрашиваете E-mail в качестве логина пользователя для авторизации. Пользователь может написать Email как с большой так и маленькой буквы, а ваша задача проверить такого пользователя на наличие в базе данных.
Что-бы информация переданная пользвателем соответствовала данным в базе данных, мы должны принимать их в едином формате, поэтому, получив от пользователя что-то типо "Example@site.com", мы с помощью метода lower()
мы превращаем его в "example@site.com" и далее уже проверяем его наличие в базе данных.
Метод count()
Метод count()
возвращает количество вхождений подстроки в строке.
Метод isalpha()
, isdigit()
, isalnum()
Эти методы проверяют, состоит ли строка только из букв, цифр или букв и цифр соответственно.
Пример:Как вы уже наверное догадались, таким образом мы можем валидировать данные которые приходят нам в программу. Например, при регистрации пользователь введёт пароль состоящий только из чисел. Мы можем проверить этот факт и сказать пользователю, что такой пароль небезопасен!
Метод format()
Пример:
Метод f-строки
(начиная с Python 3.6)
F-строки предоставляют удобный способ встраивания выражений в строки.
Пример:Пример использования изученных методов
Используя методы перечисленных в этой лекции, решите задачу.
У пользователя запрашивается Имя, Email, Пароль
1) Необходимо убедиться, что имя не содержит чисел и удалить пробелы в начале и конце строки.
2) Необходимо убедиться, что email содержит символ @, а так-же преобразовать его к нижнему регистру.
3) Необходимо убедиться, что пароль содержит не менее 8 символов и не состоит только из чисел
Для решения задачи можно использовать методы работы со строками, такие как strip()
, isalpha()
, lower()
, find()
, len()
, и isdigit()
.
- Имя:
- Используем метод
strip()
для удаления пробелов в начале и конце строки. - Используем метод
isalpha()
для проверки, что имя состоит только из букв.
- Используем метод
- Email:
- Используем метод
lower()
для преобразования email к нижнему регистру. - Используем метод
find()
для проверки наличия символа@
.
- Используем метод
- Пароль:
- Используем функцию
len()
для проверки длины пароля (не менее 8 символов). - Используем метод
isdigit()
для проверки, что пароль не состоит только из цифр.
- Используем функцию
Введите ваше имя: John123 Введите ваш email: EXAMPLE@GMAIL.COM Введите ваш пароль: 12345678 Ошибка: Имя не должно содержать чисел или специальных символов. Email введен корректно: example@gmail.com Ошибка: Пароль не должен состоять только из чисел.
Таким образом, программа проверяет корректность введенных данных и выводит соответствующие сообщения об ошибках или успешном вводе.
Перечисленные методы являются основными инструментами для работы со строками в Python. Они позволяют эффективно манипулировать текстовыми данными, выполнять поиск, замену, форматирование и другие операции.
Для лучшего понимания материала рекомендуется выполнять практические задания.