NSString *stringValue1 = @"ABCDE"; NSString *stringValue2 = @"abcde"; if([stringValue1 caseInsensitiveCompare:stringValue2] == NSOrderedSame) { NSLog(@"stringValue1 と stringValue2 は同じです。"); }
2014年10月11日土曜日
文字列を大文字小文字の区別無く比較する
文字列を大文字小文字の区別無く比較する場合には、NSStringのcaseInsensitiveCompareメソッドを利用します。
こんな感じ
2013年7月18日木曜日
NSString文字列を検索する
NSStringには一般的に利用する文字列検索「前方一致」「後方一致」「あいまい」「完全一致」の検索方法が始めから備わっています。
利用方法は以下通りです。
上記を実行するとコンソールには以下の様な結果が表示されます。
利用方法は以下通りです。
NSString *text = @"abcdefg"; if([text hasPrefix:@"abc"] == YES) { NSLog(@"文字列の先頭はabcです。"); } if([text hasSuffix:@"efg"] == YES) { NSLog(@"文字列の末尾はefgです。"); } if([text isEqualToString:@"abcdefg"] == YES) { NSLog(@"文字列はabcdefgです。"); } if([text rangeOfString:@"cde"].location != NSNotFound) { NSLog(@"文字列にcdeが含まれます。"); }
上記を実行するとコンソールには以下の様な結果が表示されます。
文字列の先頭はabcです。 文字列の末尾はefgです。 文字列はabcdefgです。 文字列にcdeが含まれます。
2013年2月1日金曜日
文字列から数字に変換したい
NSStringクラスには、格納した文字列をプリミティブな型に変換するメソッドが登録されています。
例えば、以下の様な文字列を変換した場合はどうなるでしょう。
この様に変換されます。
ここで少し数値を上げてみます。
この様に変換されます。
まぁ、自動で四捨五入される様な仕様にはなってないですね^^;
勝手にされても困りますが。。。
次に文字列でやってみます。
ゼロになりますので、判断する必要が出た時はこれで良さそうですね。
数値混入でやってみます。
数値混入で、先ほどの順序逆転でやってみます。
どうやら、解釈の及ぶ所までは頑張って変換してくれるみたいです。
// double型に変換 - (double) doubleValue; // float型に変換 - (float) floatValue; // int型に変換 - (int) intValue; // NSInteger型に変換 - (NSInteger) integerValue; // long long型に変換 - (long long) longLongValue; // BOOL型に変換 - (BOOL) boolValue;
例えば、以下の様な文字列を変換した場合はどうなるでしょう。
NSString *temp = @"1.23";
この様に変換されます。
NSString *temp = @"1.23"; [temp doubleValue]; // (double)1.23 [temp floatValue]; // (float)1.23 [temp intValue]; // (int)1 [temp integerValue]; // (NSInteger)1 [temp longLongValue]; // (long long)1 [temp boolValue]; // (BOOL)YES
ここで少し数値を上げてみます。
NSString *temp = @"1.78";
この様に変換されます。
NSString *temp = @"1.78"; [temp doubleValue]; // (double)1.78 [temp floatValue]; // (float)1.78 [temp intValue]; // (int)1 [temp integerValue]; // (NSInteger)1 [temp longLongValue]; // (long long)1 [temp boolValue]; // (BOOL)YES
まぁ、自動で四捨五入される様な仕様にはなってないですね^^;
勝手にされても困りますが。。。
次に文字列でやってみます。
NSString *temp = @"aaa"; [temp doubleValue]; // (double)0 [temp floatValue]; // (float)0 [temp intValue]; // (int)0 [temp integerValue]; // (NSInteger)0 [temp longLongValue]; // (long long)0 [temp boolValue]; // (BOOL)NO
ゼロになりますので、判断する必要が出た時はこれで良さそうですね。
数値混入でやってみます。
NSString *temp = @"a11"; [temp doubleValue]; // (double)0 [temp floatValue]; // (float)0 [temp intValue]; // (int)0 [temp integerValue]; // (NSInteger)0 [temp longLongValue]; // (long long)0 [temp boolValue]; // (BOOL)NO
数値混入で、先ほどの順序逆転でやってみます。
NSString *temp = @"11a"; [temp doubleValue]; // (double)11 [temp floatValue]; // (float)11 [temp intValue]; // (int)11 [temp integerValue]; // (NSInteger)11 [temp longLongValue]; // (long long)11 [temp boolValue]; // (BOOL)YES
どうやら、解釈の及ぶ所までは頑張って変換してくれるみたいです。
登録:
投稿 (Atom)