Ios5 如何从NSString中删除所有EmoJ
我需要从NSString中删除所有emoij。 到目前为止,我正在使用这个NSString扩展Ios5 如何从NSString中删除所有EmoJ,ios5,nsstring,emoticons,Ios5,Nsstring,Emoticons,我需要从NSString中删除所有emoij。 到目前为止,我正在使用这个NSString扩展 - (NSString*)noEmoticon { static NSMutableCharacterSet *emoij = NULL; if (emoij == NULL) { emoij = [[NSMutableCharacterSet alloc] init]; // unicode range of old emoijs [
- (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;
}
。。。但这根本不起作用。range.length始终为0。
因此,一般的问题是:如何从NSString中删除一系列unicode字符
非常感谢。在我看来,在上面的代码中,
emoij
变量最终是一个空集。您不是想添加字符范围:
而不是删除字符范围: