Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
#1

Привести телефонный номер к общему виду - Программирование Android

13.10.2016, 23:07. Просмотров 431. Ответов 17
Метки нет (Все метки)

Ситуация

Пришло смс в нем номер отправителя и этот номер нужно как то приравнять к номеру в телефонной книге

Получить список номеров всей т.книги не проблема, НО все пишут номера по разному кто то пишет +7 , кто то 8 а еще много разных вариантов.

Как привести номера телефонов в книге к такому же виду что и номер приходящего смс ?

чтобы сравнить номера и получить equal true.

replace - пользоваться умею , но что на что менять?????????? Или как иначе сделать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2016, 23:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Привести телефонный номер к общему виду (Программирование Android):

Привести нормальное уравнение прямой к общему виду - Геометрия
Сабж. В интернете ничего не нашел. Нужно для этой задачи

С виду простое однородное уравнение. Нужно привести к виду F(x,y)=C - Дифференциальные уравнения
Из 250 задач ВУЗа решил все, за исключением единственной! (Хотя по части задач были недопонимания - спасибо форуму!) Ветку читал...

привести дроби к общему знаменателю - Pascal
Помогите, пожалуйста, с алгоритмом, а то завтра практику сдавать и последняя задача осталась( 1.даны дроби p1/q1, p2/q2 ... p/q, надо...

Привести дроби к общему знаменателю - Turbo Pascal
Люди добрые!

Привести дроби к общему знаменателю - Turbo Pascal
Составить программу, которая приводит эти дроби к общему знаменателю

Привести дроби к общему знаменателю - Turbo Pascal
даны дроби -,-,..,- (знаменатель и числитель натуральные).составить программу,которая приводит к общему знаменателю и упорядочивает их в...

17
korshun84
25 / 80 / 19
Регистрация: 08.07.2014
Сообщений: 432
14.10.2016, 07:16 #2
Цитата Сообщение от Star2016 Посмотреть сообщение
replace - пользоваться умею , но что на что менять
Убирать +7 или 8 вначале и "-" в оставшейся части номера, если они есть, то-есть приводить к виду 9521234567
1
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
14.10.2016, 09:56  [ТС] #3
Этого достаточно? Или могут быть какие то еще варианты?
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
14.10.2016, 11:47 #4
Цитата Сообщение от Star2016 Посмотреть сообщение
этот номер нужно как то приравнять к номеру в телефонной книге
Учитесь задавать вопросы.
Цитата Сообщение от Star2016 Посмотреть сообщение
кто то пишет +7 , кто то 8 а еще много разных вариантов.
И это вы только Россию взяли, а есть ещё куча республик и других государств.
Цитата Сообщение от Star2016 Посмотреть сообщение
Как привести номера телефонов в книге к такому же виду что и номер приходящего смс ?
Не надо этого делать, оставьте книгу в покое.
Цитата Сообщение от Star2016 Посмотреть сообщение
чтобы сравнить номера и получить equal true.
Используйте регулярные выражения. Там и вариантов-то - кот наплакал.
Или сначала взяли номер из книги, удалили пробелы, минусы, скобки, плюсы, короче, оставили одни цифры, так даже лучше. Взяли номер из SMS, проделали ту же операцию. Сравнили. Если не равен, попробуйте заменить первую семёрку на восьмёрку и снова проверить.

Добавлено через 1 минуту
Способ с удалением первой цифры - ошибка, поскольку существуют номера, начинающиеся с девятки. Или второй цифры - девятки.
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
14.10.2016, 18:00  [ТС] #5
Регилярки я использовать не стал. Удалил из всех номеров в массиве и номере для сравнения все скобки, пробелы, минусы +7 и 8 если они в самом начале номера. Сравнение работает. Но уверенности что сможет определить все номера нет.
0
korshun84
25 / 80 / 19
Регистрация: 08.07.2014
Сообщений: 432
14.10.2016, 18:36 #6
Цитата Сообщение от Star2016 Посмотреть сообщение
уверенности что сможет определить все номера нет
Если "работать" только с российскими номерами, хоть с сотовыми, хоть с городскими - проблем не будет с таким подходом.
0
Pablito
2534 / 2013 / 627
Регистрация: 12.05.2014
Сообщений: 7,066
Завершенные тесты: 1
14.10.2016, 18:46 #7
количество символов в номере телефона одинаковое?
если не считать плюс и коды оператора и страны

по идее там длина номера фиксированная...если так, то проще всего сравнивать с конца строки - берем от конца сколько надо символов и сравниваем
0
korshun84
25 / 80 / 19
Регистрация: 08.07.2014
Сообщений: 432
14.10.2016, 19:24 #8
Цитата Сообщение от Паблито Посмотреть сообщение
количество символов в номере телефона одинаковое?
Да, если не ошибаюсь.
С номерами мобильных операторов думаю итак понятно: код+номер = 10 символов.
С городскими как: 7 <код города> <номер>. Код города 3\4\5 символов, номер 7\6\5 символов соответственно. В итоге, если отбросить +7 или 8 вначале, то всего получается 10 символов в любом случае.
Поэтому все должно быть ок.
0
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 350
15.10.2016, 14:21 #9
Рекомендую почитать про стандарт телефонной нумерации Е.164
0
Bend3r
149 / 136 / 18
Регистрация: 29.07.2012
Сообщений: 709
16.10.2016, 02:46 #10
Проверяйте номер на длину, а далее берите последние 7 цифр (с конца). Это и будет номер и не важно что юзер дописал с самого начала.
0
Alexvp
108 / 72 / 8
Регистрация: 03.08.2014
Сообщений: 350
16.10.2016, 08:28 #11
Цитата Сообщение от Bend3r Посмотреть сообщение
берите последние 7 цифр (с конца).
А трехзначный код города/оператора это не номер?
1
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
16.10.2016, 12:59 #12
Цитата Сообщение от Bend3r Посмотреть сообщение
Проверяйте номер на длину, а далее берите последние 7 цифр (с конца). Это и будет номер и не важно что юзер дописал с самого начала.
Вредный совет. А если юзер дописал одну или много цифр в конец, которые при наборе не имеют значение?
0
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,712
17.10.2016, 10:52 #13
Цитата Сообщение от CoolMind Посмотреть сообщение
А если юзер дописал одну или много цифр в конец
зачем он это сделал и как он будет пользоваться этим номером?
0
CoolMind
421 / 404 / 65
Регистрация: 06.10.2012
Сообщений: 1,734
17.10.2016, 12:18 #14
Цитата Сообщение от vxg Посмотреть сообщение
зачем он это сделал и как он будет пользоваться этим номером?
Такое может быть, например, если он вручную записывал номер. При этом телефон всё равно дозвонится до адресата.
0
vxg
Модератор
3188 / 1991 / 228
Регистрация: 13.01.2012
Сообщений: 7,712
17.10.2016, 12:35 #15
Цитата Сообщение от CoolMind Посмотреть сообщение
При этом телефон всё равно дозвонится до адресата.
???
0
17.10.2016, 12:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2016, 12:35
Привет! Вот еще темы с ответами:

Обход графа по общему виду муравьиного алгоритма - C#
Доброго времени суток, нужно написать приложение, реализующее обход графа по общему виду муравьиного алгоритма. Т.е.: Дан граф с пятью...

Привести дроби к общему знаменателю и упорядочить их в порядке возрастания - Turbo Pascal
Даны дроби P1/Q1 ,P2/Q2 , ...,Pn/Qn (рi , qi — натуральные). Составить программу, которая приводит эти дроби к общему знаменателю и...

Привести массив к виду - C#
Подскажите как привести массив coord к виду массива Pts. public void button5_Click(object sender, EventArgs e) { ...

Привести выражение к виду y(x) = - Алгебра
Привести выражение \cos (xy) - {e}^{xy} - xy^2 = 0 к виду y(x) = ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.