Я хочу разрешить только определенные символы для строки.Удалить недопустимые символы из NSString
Вот что я пробовал.
NSString *mdn = @"010-222-1111";
NSCharacterSet *allowedCharacterSet = [NSCharacterSet characterSetWithCharactersInString:@""];
NSString *trimmed = [mdn stringByTrimmingCharactersInSet:[allowedCharacterSet invertedSet]];
NSString *replaced = [mdn stringByReplacingOccurrencesOfString:@"-" withString:@""];
Результат приведенного выше кода выглядит следующим образом. Результат замены - это то, что я хочу.
trimmed : 010-222-1111
replaced : 0102221111
Что мне здесь не хватает? Почему не работает invertedSet
?
Еще одна странная вещь здесь. Если я удалил invertedSet
часть как
NSString *trimmed = [mdn stringByTrimmingCharactersInSet:allowedCharacterSet];
В результате
trimmed : -222-
Я понятия не имею, что делает этот результат.
Также проверьте http://stackoverflow.com/questions/1129521/remove-all-but-numbers-from-nsstring – Arkku