Лекція 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))  # День

Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання