Objective-Cの文字列
Objective-Cプログラミング言語の文字列はNSStringを使用して表され、そのサブクラスNSMutableStringは文字列オブジェクトを作成するためのいくつかの方法を提供します。文字列オブジェクトを作成する最も簡単な方法は、Objective-C @ "..."コンストラクトを使用することです。
NSString *greeting = @"Hello";
文字列を作成して印刷する簡単な例を以下に示します。
#import <Foundation/Foundation.h>
int main () {
NSString *greeting = @"Hello";
NSLog(@"Greeting message: %@\n", greeting );
return 0;
}
上記のコードをコンパイルして実行すると、次のような結果が生成されます。
2013-09-11 01:21:39.922 demo[23926] Greeting message: Hello
Objective-Cは、文字列を操作するためのさまざまな方法をサポートしています-
シニア番号 | 方法と目的 |
---|---|
1 | - (NSString *)capitalizedString; 受信者の大文字の表現を返します。 |
2 | - (unichar)characterAtIndex:(NSUInteger)index; 指定された配列位置の文字を返します。 |
3 | - (double)doubleValue; 受信者のテキストの浮動小数点値をdoubleとして返します。 |
4 | - (float)floatValue; 受信者のテキストの浮動小数点値をfloatとして返します。 |
5 | - (BOOL)hasPrefix:(NSString *)aString; 指定された文字列がレシーバーの開始文字と一致するかどうかを示すブール値を返します。 |
6 | - (BOOL)hasSuffix:(NSString *)aString; 指定された文字列がレシーバーの終了文字と一致するかどうかを示すブール値を返します。 |
7 | - (id)initWithFormat:(NSString *)format ...; 指定されたフォーマット文字列をテンプレートとして使用して初期化されたNSStringオブジェクトを返し、残りの引数値が代入されます。 |
8 | - (NSInteger)integerValue; 受信者のテキストのNSInteger値を返します。 |
9 | - (BOOL)isEqualToString:(NSString *)aString; リテラルUnicodeベースの比較を使用して、指定された文字列がレシーバーと等しいかどうかを示すブール値を返します。 |
10 | - (NSUInteger)length; レシーバーのUnicode文字数を返します。 |
11 | - (NSString *)lowercaseString; 受信者の小文字表現を返します。 |
12 | - (NSRange)rangeOfString:(NSString *)aString; レシーバー内で指定された文字列が最初に出現する範囲を検索して返します。 |
13 | - (NSString *)stringByAppendingFormat:(NSString *)format ...; 指定されたフォーマット文字列と次の引数から構築された文字列をレシーバーに追加して作成された文字列を返します。 |
14 | - (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set; 指定された文字セットに含まれるレシーバー文字の両端から削除された新しい文字列を返します。 |
15 | - (NSString *)substringFromIndex:(NSUInteger)anIndex; 指定されたインデックスの文字列から最後までの受信機の文字を含む新しい文字列を返します。 |
次の例では、上記の機能のいくつかを使用しています-
#import <Foundation/Foundation.h>
int main () {
NSString *str1 = @"Hello";
NSString *str2 = @"World";
NSString *str3;
int len ;
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
/* uppercase string */
str3 = [str2 uppercaseString];
NSLog(@"Uppercase String : %@\n", str3 );
/* concatenates str1 and str2 */
str3 = [str1 stringByAppendingFormat:@"World"];
NSLog(@"Concatenated string: %@\n", str3 );
/* total length of str3 after concatenation */
len = [str3 length];
NSLog(@"Length of Str3 : %d\n", len );
/* InitWithFormat */
str3 = [[NSString alloc] initWithFormat:@"%@ %@",str1,str2];
NSLog(@"Using initWithFormat: %@\n", str3 );
[pool drain];
return 0;
}
上記のコードをコンパイルして実行すると、次のような結果が生成されます。
2013-09-11 01:15:45.069 demo[30378] Uppercase String : WORLD
2013-09-11 01:15:45.070 demo[30378] Concatenated string: HelloWorld
2013-09-11 01:15:45.070 demo[30378] Length of Str3 : 10
2013-09-11 01:15:45.070 demo[30378] Using initWithFormat: Hello World
Objective-C NSString関連のメソッドの完全なリストは、NSStringクラスリファレンスにあります。