頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


NSStringの文字列から特定の部分を取り出す方法

タイトル通りの小ネタなんだけどさ、substringWithRange:なんてメソッドがいいねってお話だよ。

NSString *string = @"20120510";
なんて文字列があるとするね。これは年月日を想定してるけどなんでもいいんだ。
こういう文字列から任意の部分の文字列を取り出そうとしたんだけど、「赤ちゃんの成長グラフ」アプリではNSStringクラスの
getCharacters:range:
ってメソッドを使っているんだ。よく見ると
- (void)getCharacters:(unichar *)buffer range:(NSRange)aRange
って形で使うわけだけど、unicharってなんだよ、って感じじゃない?見よう見まねで使っていたんだけど、よくよくリファレンスを見たら
substringWithRange:
ってメソッドもあるんだ。
- (NSString *)substringWithRange:(NSRange)aRange
こちらは見ての通りNSRangeを指定して、返り値が文字列というなんとも理解しやすいメソッドなんだよ。しかも
Available in iOS 2.0 and later.
ってあるってことは最初からこれでよかったのに、何やってたんだろうね?まあ過去の自分は他人と思って気にしないことにしよう。

NSString *day = [string substringWithRange:NSMakeRange(string.length-2,2)];
NSString *month = [string substringWithRange:NSMakeRange(string.length-4,2)];
NSString *year = [string substringWithRange:NSMakeRange(string.length-8,4)];
ということで、↑こんな感じで必要な文字を取り出すことができたよ。

<< 貝の中からカニが出る?   TopPage  iOS 5.1.1が来たよ >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/592-20f97d3b




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad