Преобразование строки в нижний регистр

Python:
Преобразование строки в нижний регистр

Как это сделать:

Приведение строки к нижнему регистру в Python просто с методом .lower().

original_string = "Hello, World!"
lowercase_string = original_string.lower()
print(lowercase_string)  # Вывод: hello, world!

Или используйте списочное включение для большего контроля:

s = "HELLO, World!"
lower_list = [char.lower() for char in s]
print(''.join(lower_list))  # Вывод: hello, world!

Углубленный анализ

Метод .lower() был частью типа строк в Python довольно давно. Это простой способ обеспечить обработку данных без учета регистра, что полезно в ситуациях, таких как регистронезависимый ввод пользователя.

Есть альтернативы, например, использование регулярных выражений:

import re

s = "HELLO, World!"
lower_s = re.sub(r'[A-Z]', lambda match: match.group(0).lower(), s)
print(lower_s)  # Вывод: hello, world!

Но это избыточно просто для преобразования строки в нижний регистр.

Внутри, метод .lower() Python полагается на карту символов Unicode. Стандарт Unicode определяет эквивалент в нижнем регистре почти всех символов, имеющих регистр. Этот процесс более сложный, чем просто вычитание значения для перехода от ‘A’ к ‘a’, поскольку не все языки и системы письма имеют такое простое и прямое сопоставление.

Смотри также