2012-03-05 2 views
0

Мне нужно удалить все emoijs из NSString. До сих пор я использую это расширение NSString ...Как удалить все emojs из NSString

- (NSString*)noEmoticon { 
    static NSMutableCharacterSet *emoij = NULL; 

    if (emoij == NULL) { 
     emoij = [[NSMutableCharacterSet alloc] init]; 
     // unicode range of old emoijs 
     [emoij removeCharactersInRange:NSMakeRange(0xE000, 0xE537 - 0xE000)]; 
    } 

    NSRange range = [self rangeOfCharacterFromSet:emoij]; 

    if (range.length == 0) { 
     return self; 
    } 

    NSMutableString *cleanedString = [self mutableCopy]; 

    while (range.length > 0) { 
     [cleanedString deleteCharactersInRange:range]; 
     range = [cleanedString rangeOfCharacterFromSet:emoij]; 
    } 

    return cleanedString; 
} 

... но это не работает. Длина диапазона всегда равна 0. Итак, общий вопрос: как я могу удалить диапазон символов Unicode из NSString?

Большое спасибо.

ответ

1

Мне кажется, что в приведенном выше коде переменная emoij в конце концов является пустым множеством. Разве вы не имели в виду addCharactersInRange:, а не removeCharactersInRange:?

Смежные вопросы