Как привести к единому виду номера телефонов?
Как привести к единому виду?
8 (963) 672-22-29 номера -->
numbers = """89636722229
7 963 6722229
+7 911 12312 18
79152211142
8 (912) 112 34 55
8 (912) 112 3456
+7 (912) 112 34 57
+7 (912) 112 34 57
(912) 112 34 57
12313123123
12"""
Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
numbers_lst = numbers.split("\n")
only_digits = ["".join([c for c in element if c.isdigit()]) for element in numbers_lst]
formted_lst = [f"{a} ({b}{c}{d}) {e}{f}{g}-{h}{i}-{j}{k}"
for a, b, c, d, e, f, g, h, i, j, k in only_digits[:8]]
result = "\n".join(formted_lst)
print(result)
Вывод:
8 (963) 672-22-29 7 (963) 672-22-29 7 (911) 123-12-18 7 (915) 221-11-42 8 (912) 112-34-55 8 (912) 112-34-56 7 (912) 112-34-57 7 (912) 112-34-57
Замечание:
Не все ваше числа 11-местные, потому я применил only_digits[:8] вместо простого
only_digits. Когда вы это исправите, уберите [:8].