スポンサーリンク

【Obj-C】文字列から一部の文字列を取得する方法 substringWithRange NSString

文字列から一部の文字列を取得する方法 substringWithRange NSString

iPhone ios objective-c サンプル

文字列(NSString) から一部の文字列を取得したいことが多々あると思います。

今回は、substringWithRange にて結合するサンプルを紹介します。

また、NSMakeRange の第一引数は文字列の最初が 0 になりますのでお気をつけください。

NSMakeRange(スタート位置, 取り出す文字数)、全角でも半角でも文字数は1になります。

// abcdefghijklmn の文字列が格納された変数を宣言 (半角)
NSString *str1 = @”abcdefghijklmn”;

// あいうえおかきくけこ の文字列が格納された変数を宣言 (全角)
NSString *str2 = @”あいうえおかきくけこ”;

// 12345あいうえお abcde の文字列が格納された変数を宣言 (半角全角)
NSString *str3 = @”12345あいうえおabcde”;

// 1文字目から1文字を取得
NSString *retstr1_1 = [str1 substringWithRange:NSMakeRange(0, 1)];
NSString *retstr2_1 = [str2 substringWithRange:NSMakeRange(0, 1)];
NSString *retstr3_1 = [str3 substringWithRange:NSMakeRange(0, 1)];

// 1文字目から5文字を取得
NSString *retstr1_2 = [str1 substringWithRange:NSMakeRange(0, 5)];
NSString *retstr2_2 = [str2 substringWithRange:NSMakeRange(0, 5)];
NSString *retstr3_2 = [str3 substringWithRange:NSMakeRange(0, 5)];

// 4文字目から5文字を取得
NSString *retstr1_3 = [str1 substringWithRange:NSMakeRange(3, 5)];
NSString *retstr2_3 = [str2 substringWithRange:NSMakeRange(3, 5)];
NSString *retstr3_3 = [str3 substringWithRange:NSMakeRange(3, 5)];

// 取得した文字列をコンソールログへ表示
NSLog(@”retstr1_1 is %@”,retstr1_1);
NSLog(@”retstr2_1 is %@”,retstr2_1);
NSLog(@”retstr3_1 is %@”,retstr3_1);

NSLog(@”retstr1_2 is %@”,retstr1_2);
NSLog(@”retstr2_2 is %@”,retstr2_2);
NSLog(@”retstr3_2 is %@”,retstr3_2);

NSLog(@”retstr1_3 is %@”,retstr1_3);
NSLog(@”retstr2_3 is %@”,retstr2_3);
NSLog(@”retstr3_3 is %@”,retstr3_3);

コード サンプル

// abcdefghijklmn の文字列が格納された変数を宣言 (半角)
NSString *str1 = @"abcdefghijklmn";

// あいうえおかきくけこ の文字列が格納された変数を宣言 (全角)
NSString *str2 = @"あいうえおかきくけこ";

// 12345あいうえお abcde の文字列が格納された変数を宣言 (半角全角)
NSString *str3 = @"12345あいうえおabcde";

// 1文字目から1文字を取得
NSString *retstr1_1 = [str1 substringWithRange:NSMakeRange(0, 1)];
NSString *retstr2_1 = [str2 substringWithRange:NSMakeRange(0, 1)];
NSString *retstr3_1 = [str3 substringWithRange:NSMakeRange(0, 1)];

// 1文字目から5文字を取得
NSString *retstr1_2 = [str1 substringWithRange:NSMakeRange(0, 5)];
NSString *retstr2_2 = [str2 substringWithRange:NSMakeRange(0, 5)];
NSString *retstr3_2 = [str3 substringWithRange:NSMakeRange(0, 5)];    

// 4文字目から5文字を取得
NSString *retstr1_3 = [str1 substringWithRange:NSMakeRange(3, 5)];
NSString *retstr2_3 = [str2 substringWithRange:NSMakeRange(3, 5)];
NSString *retstr3_3 = [str3 substringWithRange:NSMakeRange(3, 5)];    

// 取得した文字列をコンソールログへ表示
NSLog(@"retstr1_1 is %@",retstr1_1);
NSLog(@"retstr2_1 is %@",retstr2_1);
NSLog(@"retstr3_1 is %@",retstr3_1);

NSLog(@"retstr1_2 is %@",retstr1_2);
NSLog(@"retstr2_2 is %@",retstr2_2);
NSLog(@"retstr3_2 is %@",retstr3_2);

NSLog(@"retstr1_3 is %@",retstr1_3);
NSLog(@"retstr2_3 is %@",retstr2_3);
NSLog(@"retstr3_3 is %@",retstr3_3);
タイトルとURLをコピーしました