2015-04-15 8 views
1

У меня есть NSString, который содержит значение «\ U2212» вместо «-», которое исходит от API. Когда я попытался заменить эту строку нужным символом, используя метод появления подстроки, он показал ошибку. Итак, как мне заменить NSString, который содержит «\ U2212», с «-». Я попробовал следующий код. Пожалуйста, помогите мне. Я искал много вещей, но ничего не помогло. Заранее спасибо.Обязательный символ в NSString заменяется кодированной переменной

вход: "(UTC \ U221206: 00) Канада/Центральная"

Желаемый результат: "(UTC-06: 00) Канада/Центральная"

код:

NSString *timezoneDisplayValue = [timezone valueForKey:@"tomeZoneDisplayValue"]; 
timezoneDisplayValue = [timezoneDisplayValue stringByReplacingOccurrencesOfString:@"\U2212" withString:@"-"]; 
+0

'\ U2212'? '\\ U2212'? '\ U0002212'? – Larme

+0

Какие ставки вы неправильно интерпретируете вывод инструкции NSLog? U2212 - это знак «минус» Юникода. Что заставляет вас думать, что вам нужно его заменить? – gnasher729

+0

\ U2212, который является «-» –

ответ

0

ниже код возвращает ДА ​​или НЕТ, имеет ли ваша строка любую кодировку ...

[apiString canBeConvertedToEncoding:NSASCIIStringEncoding]; 

Если НЕТ возвращается, й en конвертировать с правильным типом кодирования:

[apiString dataUsingEncoding:NSUTF16BigEndianStringEncoding]; 
+0

Но вторая строка применима для NSData? Если я ошибаюсь, покажите мне, как его использовать. Спасибо. –