文字列から一部の文字列を取得する方法 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);