如何在iOS中将此字符串替换为'u00e2 \ u0080 \ u0099

时间:2014-01-17 16:47:35

标签: ios objective-c xcode nsstring nsstringencoding

我从服务器获取了一个值,并将其存储在NSString对象中。在该字符串中,“'”被替换为\ u00e2 \ u0080 \ u0099。我尝试使用replaceOccurencesOfString替换它。但它显示错误。在这里,我显示了我的代码和错误。

 [mutstr_Description replaceOccurrencesOfString:@"\u00e2\u0080\u0099" withString:@"'" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [mutstr_Description length])];

enter image description here

帮助解决此问题。

1 个答案:

答案 0 :(得分:2)

假设您的字符串实际上包含文字字符\u0等,则需要执行以下操作:

[mutstr_Description replaceOccurrencesOfString:@"\\u00e2\\u0080\\u0099" withString:@"'" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [mutstr_Description length])];

你需要逃避反斜杠。

更新 - 也许你的字符串实际上有那些控制字符。试试这个:

NSString *controlChars = [NSString stringWithFormat:@"%C%C%C", 0xe2, 0x80, 0x99];
[mutstr_Description replaceOccurrencesOfString:controlChars withString:@"'" options:NSLiteralSearch range:NSMakeRange(0, [mutstr_Description length])];