🔧 Как отформатировать номер телефона в Python? Простой гайд для начинающих
Для форматирования номера телефона в Python вы можете использовать библиотеку phonenumbers.
Сначала установите библиотеку, используя команду:
pip install phonenumbers
Затем можно использовать следующий код для форматирования номера телефона:
import phonenumbers
number = "+79123456789"
formatted_number = phonenumbers.format_number(phonenumbers.parse(number, "RU"), phonenumbers.PhoneNumberFormat.INTERNATIONAL)
print(formatted_number)
В результате вы получите форматированный номер телефона, отображающийся в международном формате:
+7 912 345-67-89
Детальный ответ
Как отформатировать номер телефона в Python
В программировании зачастую возникает необходимость отформатировать номер телефона. Независимо от вводимого формата, в этой статье мы рассмотрим, как преобразовать номер телефона в заданный формат с помощью языка программирования Python.
Метод 1: Использование срезов строк
Один из простых способов отформатировать номер телефона - использование срезов строк для удаления ненужных символов и вставки разделителей. Для примера предположим, что у нас есть номер телефона без разделителей: 1234567890. Мы хотим преобразовать его в формат (123) 456-7890.
number = "1234567890"
formatted_number = "(" + number[:3] + ") " + number[3:6] + "-" + number[6:]
print(formatted_number)
Этот код использует срезы строк для разделения номера на отдельные части и добавления разделителей. Результатом будет отформатированный номер телефона:
(123) 456-7890
Метод 2: Использование регулярных выражений
Другой способ отформатировать номер телефона - использование регулярных выражений. Регулярные выражения предоставляют более гибкую возможность для поиска и замены определенных шаблонов текста. Для этого требуется импортировать модуль re в Python.
import re
number = "1234567890"
formatted_number = re.sub(r"(\d{3})(\d{3})(\d{4})", r"(\1) \2-\3", number)
print(formatted_number)
В этом коде мы используем функцию re.sub() для замены совпадающих с образцом частей текста. Результатом будет тот же отформатированный номер телефона:
(123) 456-7890
Метод 3: Использование библиотеки phonenumbers
Если вы хотите не просто отформатировать номер телефона, но и выполнить другие операции с ним, такие как проверка валидности или извлечение международного кода страны, можно воспользоваться библиотекой phonenumbers.
Установите библиотеку phonenumbers, используя следующую команду:
pip install phonenumbers
После установки вы можете использовать различные функции этой библиотеки для работы с номерами телефонов. Для примера, рассмотрим преобразование номера телефона из строки в объект PhoneNumber и последующее форматирование.
import phonenumbers
number = "+1234567890"
parsed_number = phonenumbers.parse(number)
formatted_number = phonenumbers.format_number(parsed_number, phonenumbers.PhoneNumberFormat.NATIONAL)
print(formatted_number)
В этом коде мы импортируем модуль phonenumbers и используем функцию phonenumbers.parse() для преобразования строки номера телефона в объект PhoneNumber. Затем мы используем функцию phonenumbers.format_number() для отформатирования номера в формате, соответствующем национальным стандартам. Результатом будет отформатированный номер телефона:
(123) 456-7890
Заключение
Отформатированный номер телефона может использоваться для удобного представления и обработки номеров в программировании. В этой статье мы рассмотрели три различных метода для отформатирования номера телефона в Python.
Первый метод использует срезы строк для удаления ненужных символов и добавления разделителей. Второй метод основан на использовании регулярных выражений, позволяющих более гибко заменять текстовые шаблоны. Третий метод использует библиотеку phonenumbers, обеспечивающую дополнительные функции для работы с номерами телефонов.