Лекція 4. Обробка строкових даних
Сайт: | Навчально-інформаційний портал НУБіП України |
Курс: | Кросплатформне програмування (Python) |
Книга: | Лекція 4. Обробка строкових даних |
Надруковано: | Гість-користувач |
Дата: | субота, 7 червня 2025, 12:59 |
Опис
Методи Python для обробки строкових даних.
1. Методи Python для обробки строкових даних.
Перетворення регістру
Метод | Опис |
---|---|
str.lower() |
Перетворює рядок у нижній регістр |
str.upper() |
Перетворює рядок у верхній регістр |
str.capitalize() |
Першу літеру робить великою |
str.title() |
Першу літеру кожного слова робить великою |
str.swapcase() |
Змінює регістр кожної літери |
Обрізка і форматування
Метод | Опис |
---|---|
str.strip() |
Видаляє пробіли на початку і в кінці |
str.lstrip() |
Видаляє пробіли зліва |
str.rstrip() |
Видаляє пробіли справа |
str.replace(a, b) |
Замінює підрядок a на b |
str.zfill(width) |
Додає нулі зліва до заданої ширини |
str.center(width) |
Центрує рядок |
str.ljust(width) |
Вирівнює ліворуч |
str.rjust(width) |
Вирівнює праворуч |
Пошук і перевірка
Метод | Опис |
---|---|
str.startswith(sub) |
Перевіряє, чи починається рядок на sub |
str.endswith(sub) |
Перевіряє, чи закінчується рядок на sub |
str.find(sub) |
Повертає індекс першого входження sub , або -1 |
str.rfind(sub) |
Індекс останнього входження sub |
str.index(sub) |
Як find , але викликає помилку, якщо не знайдено |
str.count(sub) |
Підраховує входження підрядка sub |
sub in str |
Логічна перевірка на наявність підрядка |
Перевірка типу вмісту
Метод | Опис |
---|---|
str.isalpha() |
Тільки букви |
str.isdigit() |
Тільки цифри |
str.isalnum() |
Букви або цифри |
str.isspace() |
Тільки пробіли |
str.islower() |
Усі букви — нижнього регістру |
str.isupper() |
Усі букви — верхнього регістру |
str.istitle() |
Перша літера кожного слова — велика |
Розбиття і об'єднання
Метод | Опис |
---|---|
str.split(sep) |
Розбиває рядок за роздільником |
str.rsplit(sep) |
Те саме, з кінця |
str.splitlines() |
Розбиває по рядках |
'sep'.join(iterable) |
Об’єднує елементи в рядок із роздільником |
Інше
Метод | Опис |
---|---|
len(str) |
Довжина рядка |
str.encode() |
Кодує рядок в байти |
bytes.decode() |
Декодує байти в рядок |
str.format(...) |
Форматування рядка (старий стиль) |
f"...{var}..." |
Форматування рядка (f-рядки, новий стиль) |
2. Регулярні вирази
Регулярні вирази (Regular Expressions, RegEx) — це шаблони для пошуку і маніпуляції з текстом. Вони дозволяють описати закономірності в тексті за допомогою спеціального синтаксису.
У Python підтримка регулярних виразів надається стандартним модулем re
.
Основи синтаксису RegEx
Символ | Опис |
---|---|
. |
Будь-який символ, крім нового рядка |
^ |
Початок рядка |
$ |
Кінець рядка |
* |
0 або більше входжень |
+ |
1 або більше входжень |
? |
0 або 1 входження |
{n} |
Рівно n входжень |
{n,m} |
Від n до m входжень |
[] |
Будь-який символ із вказаного діапазону |
` | ` |
() |
Групування виразів |
\ |
Екранування спецсимволів |
Метасимволи і шаблони
Шаблон | Опис |
---|---|
\d |
Цифра (0–9) |
\D |
Не цифра |
\w |
Словесний символ (латиниця, цифра або _ ) |
\W |
Все, крім \w |
\s |
Пробіл |
\S |
Все, крім пробілу |
\b |
Границя слова |
\B |
Не границя слова |
Приклади регулярних виразів
- email
\b[\w.-]+@[\w.-]+\.\w{2,4}\b
- дати
\d{4}-\d{2}-\d{2}
- телефон
\+?\d{10,13}
Python: модуль re
Імпорт модуля
import re
Приклади:
re.search(r"\d+", "Номер 12345") # <re.Match object>
re.findall(r"\d+", "Ціни: 100, 200, 300") # ['100', '200', '300']
re.sub(r"\d+", "#", "Мій номер 12345") # 'Мій номер #'
re.split(r"\s+", "Python є крутий") # ['Python', 'є', 'крутий']
pattern = re.compile(r"\b\w{4}\b")
pattern.findall("Цей рядок має слова різної довжини") # ['Цей', 'ряд', 'має']
Можна групувати частини виразу в дужки ()
для подальшого використання.
text = "Дата: 2025-05-08"
match = re.search(r"(\d{4})-(\d{2})-(\d{2})", text)
if match:
print(match.group(0)) # Весь збіг
print(match.group(1)) # Рік
print(match.group(2)) # Місяць
print(match.group(3)) # День
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання