Итак, удаляем из строки ненужные символы, используя регулярные выражения, с помощью простой функции:
NSString *yourFuncionName(NSString *string) { NSString *regExString = @"yourRegularExpression"; NSRegularExpression *_regEx = [NSRegularExpression regularExpressionWithPattern:regExString options:NSRegularExpressionCaseInsensitive error:nil]; return [_regEx stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""]; }
Вот, собственно, и все, осталось подобрать подходящее регулярное выражение, которое решает поставленные вами задачи.
Несколько полезных регулярных выражений:
\\s - удаляет все пробелы
[-:_\\.] - удаляет все символы, находящиеся в квадратных скобках
[:^digit:] - оставляет только цифры
[:^alpha:] - оставляет только буквы
[:^alnum:] - оставляет только буквы и цифры
[:^word:] - оставляет только буквы, цифры и подчеркивания
Важно: не забудьте экранировать в регулярных выражениях все мета-символы знаком "\\"
Для тех, кто только осваивает навыки работы, приведем пример кода, оставляющего в строке только цифры:
NSString *function_OnlyDigitsInString(NSString *string) { NSString *regExString = @"[:^digit:]"; NSRegularExpression *_regEx = [NSRegularExpression regularExpressionWithPattern:regExString options:NSRegularExpressionCaseInsensitive error:nil]; return [_regEx stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@""]; }
Как видите вопрос решается всего в несколько простых строк кода, а при использовании библиотеки MSLibrary for iOS — в одну строку.
Надеемся, что материал был для вас полезен, команда MSLibrary for iOS
Другие статьи:
Захват и верификация телефонных номеров с помощью регулярных выражений, для iOS и не только… Часть 1
Захват и верификация телефонных номеров с помощью регулярных выражений, для iOS и не только… Часть 2
Реализация множественного выбора условий с помощью битовых масок, для iOS и не только…
Создание и компиляция кроссплатформенных (универсальных) библиотек в Xcode

