Заменить вхождения NSString - iPhone - PullRequest
33 голосов
/ 22 марта 2010

У меня длинная строка NSString, в которой я пытаюсь заменить специальные символы.Часть моей строки выглядит следующим образом:

"veau (c\u00f4telette)","veau (filet)","agneau (gigot)","agneau (c\u00f4telette)","b**\u0153**uf (hach\u00e9)","porc (hach\u00e9)"

Я хотел бы заменить все \ u0153 на "oe".Я пробовал:

[response stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"];

но это не работает .... Я не понимаю, почему!

Ответы [ 2 ]

79 голосов
/ 22 марта 2010

Обратная косая черта - это escape-символ , поэтому, если вы хотите указать действительный символ обратной косой черты в строковом литерале, вам нужно использовать две обратные косые черты.

NSString *new = [old stringByReplacingOccurrencesOfString: @"\\u0153" withString:@"oe"];
7 голосов
/ 22 марта 2010

NSString является неизменным, поэтому функция генерирует новую строку, которую необходимо сохранить:

NSString *new = [old stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...