Удаление всех ненужных символов с помощью NSCharacterSet - PullRequest
11 голосов
/ 13 марта 2012

Я хотел бы удалить все символы из моей строки NSString, которые не являются (числовыми, алфавитными, приходящими, пробелами или точками).

Я использую NSCharacterSet, но он не может быть добавлен к нему.Я попытался изменить версию, добавив пробел, запятую и точку, но безуспешно.

 // str is my string
 NSCharacterSet *charactersToRemove =
 [[ NSCharacterSet letterCharacterSet ] invertedSet ];

 NSString *trimmedReplacement =
 [[ str componentsSeparatedByCharactersInSet:charactersToRemove ]
 componentsJoinedByString:@"" ];
 // this removes spaces, periods, and commas too. How do I add in to the character set to keep them

1 Ответ

34 голосов
/ 13 марта 2012

Создайте изменяемый набор символов и добавьте дополнительные символы, которые вы хотите сохранить.Кроме того, вы, вероятно, хотите использовать набор alphanumericCharacter вместо letterCharacterSet, если хотите также сохранить числа в вашей строке.

NSMutableCharacterSet *charactersToKeep = [NSMutableCharacterSet alphanumericCharacterSet];
[charactersToKeep addCharactersInString:@" ,."];

NSCharacterSet *charactersToRemove = [charactersToKeep invertedSet];

NSString *trimmedReplacement = [[ str componentsSeparatedByCharactersInSet:charactersToRemove] componentsJoinedByString:@"" ];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...