Objective c IOS如何从NSString中删除零宽度空间[E2 80 8B]

Objective c IOS如何从NSString中删除零宽度空间[E2 80 8B],objective-c,nsstring,Objective C,Nsstring,通过复制/粘贴,我的一个客户端在我的IOS应用程序的文本字段中放入一个包含零宽度空格[E2 80 8B]的文本,我想删除它们 下面是一个文本示例:basse​温度​avec​德吉夫拉格​电子 我尝试的是: NSString* zarb = [NSString stringWithFormat:@"%c%c%c",0xE2,0x80,0x8B]; NSString*resu=[ch stringByReplacingOccurrencesOfString:zarb withString:@""];

通过复制/粘贴,我的一个客户端在我的IOS应用程序的文本字段中放入一个包含零宽度空格[E2 80 8B]的文本,我想删除它们

下面是一个文本示例:basse​温度​avec​德吉夫拉格​电子

我尝试的是:

NSString* zarb = [NSString stringWithFormat:@"%c%c%c",0xE2,0x80,0x8B];
NSString*resu=[ch stringByReplacingOccurrencesOfString:zarb withString:@""];
// does not work

if ([ch rangeOfString:zarb].location != NSNotFound) {
      // does not work
}
六边形序列在字符串中,但我无法删除它。 有人已经遇到这个问题了?

零宽度空间是Unicode字符
\U200B
。E2 80 8B是UTF-8编码

试试这个:

NSString* zarb = @"\u200B";
NSString* resu = [ch stringByReplacingOccurrencesOfString:zarb withString:@""];
顺便说一句-您尝试执行以下操作:

NSString* zarb = [NSString stringWithFormat:@"%c%c%c",0xE2,0x80,0x8B];

结果导致无效字符串,因为
80
8B
没有Unicode字符,非常感谢Maddy,它非常适合您的解决方案。