Сравните номера телефонов в другом формате - PullRequest
2 голосов
/ 07 марта 2012

Номер телефона может иметь разные форматы, например 0XXXXXXXXXX или + 91XXXXXXXXXX или XXXXXXXXXX.

Во всех случаях номер телефона аналогичен.

Как я могу сравнить?

Ответы [ 3 ]

1 голос
/ 07 марта 2012

Пожалуйста, сделайте это ради любви к Богу: Работа со всеми форматами телефонных номеров такая же сложная и сложная, как и обработка разных форматов данных. Всегда разумно использовать какую-то существующую «зрелую» библиотеку. Используйте PhoneNumberKit , это одна из самых популярных и популярных библиотек.

Но если вы хотите жить на грани, вы можете попробовать что-то вроде этого -

  1. Переверните строку и сравните только первые 10 символов.
  2. Регулярные выражения были бы лучшим решением. Имейте столько регулярных выражений, сколько есть форматов, и вы готовы к работе.
  3. Пожалуйста, откройте исходный код этой библиотеки, чтобы другие могли его использовать:)

Общее чтение по обработка телефонных номеров

0 голосов
/ 07 марта 2012

Как упомянуто srikar, чтобы перевернуть строку и сравнить 10 символов. Создайте метод и вызовите его для всех трех строк, а затем сравните их.

NSMutableString *reversedString = [NSMutableString string];
NSInteger charIndex = [myString length];
NSInteger count;
count=10;
while(count >= 0) {
    count--;    
    charIndex--;
    NSRange subStrRange = NSMakeRange(charIndex, 1);
    [reversedString appendString:[myString substringWithRange:subStrRange]];
}
0 голосов
/ 07 марта 2012

Вы можете начать сравнение справа налево, используя собственный символьный код совпадения.Это также работает, потому что последние несколько цифр на телефонах отличаются больше, чем первые несколько, так что ваш код быстро потерпит неудачу в неравном сравнении, что вам и нужно в любом случае.Ведите счет того, сколько совпадений у вас есть, и если оно превышает определенный порог, скажем, 10, то назовите число равным.Не зная больше подробностей, это было бы сделано, чтобы работать достаточно хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...