неэкранированная строка iPhone не работает - PullRequest
3 голосов
/ 21 ноября 2011

В моем приложении он принимает XML с сервера. Одна из его функций возвращает список имен, некоторые из которых имеют апострофы (например, O'Reilly).

<?xml version="1.0" encoding="UTF-8" ?> 
   <user id="123456" name="Pat O\'Reilly" is_qualified="false" />

В моем парсере я пробую два разных способа избавиться от косой черты, но ни один из них не работает:

[[attributeDict valueForKey:@"name"] stringByReplacingOccurrencesOfString:@"\'" withString:@"'"]

и / или

[[attributeDict valueForKey:@"name"] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

Распечатка обоих включает слеш: Пэт О'Рейли. какие-либо предложения?

1 Ответ

3 голосов
/ 21 ноября 2011

То, что вы хотите заменить, это @"\\\'" на @"\'"

И \, и ' являются специальными символами.

Возможно, вам даже придется заменить @"\\\"" на @"\"" для других текстов, которые выглядят как blaname="bla is \"bla\" and bla".

...