如何在 NSString 中查找特定的 unicode 字符并将其替换为非 unicode 字符?

How to find and replace a particular unicode character with a non-unicode character in an NSString?

有人向我提供了一个字符串,其中可能包含一个 unicode 撇号 (\u2019),我必须将其替换为标准撇号(普通的旧“'”)。我通常使用 stringByReplacingOccurrencesOfString 来做这种事情,但尝试这样做不起作用:

sMyString = [sMyString stringByReplacingOccurrencesOfString:@"\u2019" withString:@"'"];

我猜它不起作用是有道理的,因为在 NSString 内部表示撇号的实际值将是数字。有人知道怎么做吗?

如果 sMyString 具有实际的 字符,则执行以下任一操作:

sMyString = [sMyString stringByReplacingOccurrencesOfString:@"\u2019" withString:@"'"];

或:

sMyString = [sMyString stringByReplacingOccurrencesOfString:@"’" withString:@"'"];

这两个实际上编译成相同的代码。 \u2019 在编译期间被 替换。

sMyString = [sMyString stringByReplacingOccurrencesOfString:@"\U2019" withString:@"'"];

不要用\U2019,会报错