NSString - 「ÁlgeBra」から「Algebra」に移行する方法 質問する

NSString - 「ÁlgeBra」から「Algebra」に移行する方法 質問する

「ÁlgeBra」のような NSString を、アクセントなしで「Algebra」に変換し、最初の文字だけを大文字にする方法を知っている人はいますか?

ありがとう、

RL

ベストアンサー1

dreamlaxはすでにそのcapitalizedString方法について言及しているただし、アクセント付き文字を削除するために、非可逆変換を実行する代わりにNSData、 メソッドを使用する方がエレガントだと思いますstringByFoldingWithOptions:locale:

NSString *accentedString = @"ÁlgeBra";
NSString *unaccentedString = [accentedString stringByFoldingWithOptions:NSDiacriticInsensitiveSearch locale:[NSLocale currentLocale]];
NSString *capitalizedString = [unaccentedString capitalizedString];

変換する文字列の性質によっては、ユーザーの現在のロケールを使用する代わりに、固定のロケール (例: 英語) を設定する必要がある場合があります。 こうすることで、どのマシンでも同じ結果が得られることが保証されます。

おすすめ記事