Исключить знак "@" из знаков препинания CharacterSet

Я пытаюсь отфильтровать мою attribuString таким образом, используя этот код. Тем не менее, я хочу rangeOfCharacterFromSet: включить все свои исходные значения, КРОМЕ для знака "@". Как бы я это сделал?

NSRange rangeSpace = [filteredText rangeOfCharacterFromSet:[NSCharacterSet punctuationCharacterSet] options:NSCaseInsensitiveSearch range:NSMakeRange(range.location, filteredText.length - range.location)];

1 ответ

Решение
NSMutableCharacterSet *punctuationSet = [NSMutableCharacterSet punctuationCharacterSet];
[punctuationSet removeCharactersInString:@"@"];

NSRange searchRange = NSMakeRange(range.location, filteredText.length - range.location)

NSRange rangeSpace = [filteredText rangeOfCharacterFromSet:punctuationSet 
                                                   options:NSCaseInsensitiveSearch
                                                     range:searchRange];
Другие вопросы по тегам