libro
www.tuyano.com
初心者のためのObjective-Cプログラミング入門

テキストを扱うNSString/NSMutableString (3/6)

作成:2011-02-11 17:51
更新:2011-02-17 11:36

■テキストの一部を取り出す

続いて、テキストの一部分だけを取り出す操作です。

これは、最初から指定の位置までを取り出すものや、テキスト中の一定の範囲部分を取り出すものなどが用意されています。

◯テキストのはじめから指定の
位置までを取り出す

NSString *変数 = [《NSString*》
    substringToIndex:《NSUInteger》];
テキストの最初から指定の場所までのテキストを取り出します。substringToIndex:の引数に、何文字目までかを示す整数を指定します。これはNSUIntegerの値を指定することになっていますが、整数値ならそのままNSUIntegerとしてキャストされますので、普通に数字を書けば大丈夫です。例えば、こんな具合にすると最初の5文字「Welco」が出力されます。
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringToIndex:5];
NSLog(@"%@",str2);


◯テキストの指定位置から最後までを取り出す
NSString *変数 = [《NSString*》 substringFromIndex:《NSUInteger》];
こちらは、指定した位置から最後までのテキストを取り出します。引数で指定した文字数から最後までが取り出されます。要するに指定する位置より前がsubstringToIndex:で、後がsubstringFromIndex:でとり出される、と考えるとよいでしょう。例えば、以下の例では「me to Objective-C.」というテキストが出力されます。
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringFromIndex:5];
NSLog(@"%@",str2);


◯テキストの指定した範囲を取り出す
NSString *変数 = [《NSString*》 substringWithRange:《NSRange》];
これは指定した範囲のテキストが取り出されます。範囲の指定には「NSRange」という値を使います。これはObjective-Cに用意されている構造体で、「NSMakeRange」という関数を使って値を作成します。これは、以下のように呼び出します。
NSMakeRange( 開始位置 , 長さ )
このNSRangeは、テキストだけでなく、さまざまな値で「一定の範囲」を指定するのに用いられます。テキストの場合は、「◯◯文字目から、◯◯文字の長さ」という形でテキストの一定部分を指定します。例えば、下の例では、5文字目から7も自分のテキストとして「me to O」が取り出されます。
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringWithRange:NSMakeRange(5, 7)];
NSLog(@"%@",str2);

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※サンプル(1)
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringToIndex:5];
NSLog(@"%@",str2);

※サンプル(2)
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringFromIndex:5];
NSLog(@"%@",str2);

※サンプル(3)
NSString* str = @"Welcome to Objective-C.";
NSString* str2 = [str substringWithRange:
		NSMakeRange(5, 7)];
NSLog(@"%@",str2);
※関連コンテンツ

「初心者のためのObjective-Cプログラミング入門」に戻る