Objective-C (3) 文字列

文字列

  • NSString:文字列そのもの、だが変更できない。
  • NSMutableString:変更できる文字列。Javaで言うとStringBuilder

NSString

宣言

NSString *string = @"Hello World!";

フォーマット式生成:stringWithFormatメソッド

NSLogみたいにフォーマット式生成

NSString *string = [NSString stringWithFormat:@"%@:%d", @"価格", 1080];

等しい比較:isEqualToString

BOOL res = [@”こんにちは” isEqualToString:@”こんばんは”];

連結:stringByAppendingStringメソッド

Javaではプラス(+)

NSString *string = [@"こんにちは、" stringByAppendingString:@"矢沢さん"];

長さ(文字数):lengthメソッド

NSInteger *num = [@"にっこにっこにー" length];

サブ文字列

  • substringFromIndex:右から指定長さのサブ文字列
  • substringToIndex:左から指定長さのサブ文字列
  • substringWithRange:指定開始位置と長さのサブ文字列
NSString *string = [@"にっこにっこにー" substringToIndex:6];
//にっこにっこ

NSString *string = [@"にっこにっこにー" substringWithRange:NSMakeRange(3,3)];
//にっこ

検索:rangeOfString

    返り値のNSRange (構造体)

  • range.location (NSUInteger):開始位置。NSNotFoundの場合は見つからなかった
  • range.length (NSUInteger):長さ
NSRange range = [@"こんにちは" rangeOfString:@"にち"];
//構造体なので、ポインタ使わない

置換:stringByReplacingOccurrencesOfString: withString:

(ソメッド名なげぇ。。)

NSString *string = [@"こんにちは" stringByReplacingOccurrencesOfString:@"にち" withString:@"ばん"];
//こんばんは

NSMutableString

宣言と初期化

NSMutableString *string = [NSMutableString stringWithString:@"123789"]
NSMutableString *string = [NSMutableString stringWithCapacity:10]
//長さが10で、操作後超えても大丈夫です。

連結:appendString

[string appendString:@"こんにちは"]
//連結結果はstringに保存される

削除:deleteCharactersInRange:(NSRange)range

[string deleteCharactersInRange:NSMakeRange(3,4)];

挿入:insertString:(NSString *)newString atIndex:(NSUInteger)index

[string insertString:@"456" atIndex:3]
//@"123789"が@"123456789"になる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>