web-dev-qa-db-ja.com

NSStringの出現を置き換える-iPhone

特殊文字を置換しようとしている長いNSStringがあります。私の文字列の一部は次のようになります。

"veau (c\u00f4telette)","veau (filet)","agneau (gigot)","agneau (c\u00f4telette)","b**\u0153**uf (hach\u00e9)","porc (hach\u00e9)"

すべての\ u0153を「oe」に置き換えたいと思います。私はもう試した:

[response stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"];

しかし、それは動作しません....理由がわかりません!

33
ncohen

バックスラッシュは エスケープ文字 であるため、文字列リテラルに実際のバックスラッシュ文字を指定する場合は、2つのバックスラッシュを使用する必要があります。

NSString *new = [old stringByReplacingOccurrencesOfString: @"\\u0153" withString:@"oe"];
79
Josh Freeman

NSStringは不変であるため、この関数は、保存する必要がある新しい文字列を生成します。

NSString *new = [old stringByReplacingOccurrencesOfString:@"\u0153" withString:@"oe"];
7
eWolf