У меня есть длинная NSString, в которой я пытаюсь заменить специальные символы. Часть моей строки выглядит так:
"veau (c\u00f4telette)","veau (filet)","agneau (gigot)","agneau (c\u00f4telette)","b**\u0153**uf (hach\u00e9)","porc (hach\u00e9)"
Я хотел бы заменить все œ на "oe". Я пробовал:
[response stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"];
но не работает.... не понимаю почему!
Ответ 1 · рейтинг 83 · Josh Freeman
Обратная косая черта - это экранирующий символ, поэтому, если вы хотите указать фактическую обратную косую черту в строковом литерале , вам нужно использовать две обратные косые черты.
NSString *new = [old stringByReplacingOccurrencesOfString: @"\\u0153" withString:@"oe"];
Ответ 2 · рейтинг 7 · eWolf
NSString неизменяем, поэтому функция генерирует новую строку, которую нужно сохранить:
NSString *new = [old stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"];