Добрый вечер форумчане! Возникла необходимость привести у всех партнеров номера телефонов к виду +7(XXX)XXX-XX-XX
В данный момент номера записаны по разному:
(495) 7752760
8 (913) 9161554
7 (911) 1836088
и т.д
Можно ли как то привести программно все это к нужному виду? Номера телефонов считываются из файла в строковую переменную, после чего идет запись в КИ партнера, типа
НоваяКИ.НомерТелефона = СокрЛП(Ехсел.Cells(СчетчикЦикла,8).value);
Тут идет считывание телефона из Excel файла в строку.
Может кто сталкивался с этим и у кого то есть идеи?
Заранее большое спасибо!
в чем проблема то?
обычная работа со строк.значениями
находишь ( - вырезаешь до,
анализ/замена
находишь ) - вырезаешь после,
вырезаешь 3 символа,2,2 ,
пять минут дел
Первый и основной вопрос - в базе только российские номера или есть других стран?
Рассмотрим первый случай.
Вырезаете все кроме цифр.
Затем проверяете чтобы в результате получилось длина строки 10 или 11.
Если цифр 10, то добавляете код страны (+7).
Если цифр 11, то заменяете начальную 7 или 8 на +7.
Далее вставляете скобки и тире по вкусу.
Извиняюсь, большой поток информации в голову стукнул. Начитался про всякие маски, уже все перемешалось в голове)
Действительно легко и просто. Извиняюсь за беспокойство)
(5) Там на самом деле алгоритм простой: Перебирать пока цифры и если кончились сколько их, с чего начинаются и вес проблемы если "не понятно".
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший