我被提供了一个字符串,其中可能包含unicode撇号(\ u2019),我必须将其替换为标准撇号(普通旧“'”)。我通常使用stringByReplacingOccurrencesOfString来做这种事情,但尝试这个不起作用:
sMyString = [sMyString stringByReplacingOccurrencesOfString:@"\\u2019" withString:@"'"];
有道理它不起作用我猜是因为在NSString内部表示撇号的实际值将是数字。有谁知道怎么做?
答案 0 :(得分:1)
如果sMyString
具有实际的’
字符,则执行以下操作:
sMyString = [sMyString stringByReplacingOccurrencesOfString:@"\u2019" withString:@"'"];
或:
sMyString = [sMyString stringByReplacingOccurrencesOfString:@"’" withString:@"'"];
这两个实际上都编译为相同的代码。编译期间\u2019
被’
替换。
答案 1 :(得分:0)
sMyString = [sMyString stringByReplacingOccurrencesOfString:@"\U2019" withString:@"'"];
请勿使用\U2019
,否则会出错。