IOS Как удалить пространство нулевой ширины [E2 80 8B] из NSString
с копией / вставкой один из моих клиентов поместил в текстовое поле моего приложения IOS текст, содержащий пространство нулевой ширины [ E2 80 8B], и я хочу удалить их.
вот пример текста: basse température avec dégivrage électrique
что я пробовал :
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
}
последовательность hexa находится в строке, но я не могу ее удалить. У кого-то уже есть эта проблема ?
1 ответов
"пространство нулевой ширины" - это символ Юникода \U200B
. The E2 80 8B
кодировка UTF-8.
попробуйте это:
NSString* zarb = @"\u200B";
NSString* resu = [ch stringByReplacingOccurrencesOfString:zarb withString:@""];
BTW-ваша попытка сделать:
NSString* zarb = [NSString stringWithFormat:@"%c%c%c",0xE2,0x80,0x8B];
приводит к недопустимой строке, потому что нет символов Юникода для 80
и 8B
.