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