比較
- NSString同士であれば、isEqualTo: より、 isEqualToString: の方が高速(公式ドキュメントより)
NSStringによる処理
- 前後の空白文字を削除.
str = [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSMutableStringによる処理
- 置換
NSMutableString*	tempString	= [NSMutableString stringWithString:defaultString];
// スラッシュ区切りをハイフン区切りに.
[tempString replaceOccurrencesOfString:@"/"
							withString:@"-"
							options:0
							range:NSMakeRange(0, [tempString length])];
標準ライブラリ:NSRegularExpression
概要
正規表現は、iOS 4.0以降で、標準ライブラリに組み込まれた。
使い方
- 正規表現をつくる
NSError* error = nil;
NSRegularExpression* regex =
	[NSRegularExpression regularExpressionWithPattern:@"abcd"
		options:NSRegularExpressionCaseInsensitive
		error:&error
	];
- マッチしたかどうかを調べる(レンジを調べる)
NSRange rangeOfFirstMatch =
	[regex rangeOfFirstMatchInString:string
		options:0
		range:NSMakeRange(0, [string length])
	];
if( !NSEqualRanges(rangeOfFirstMatch,
		NSMakeRange(NSNotFound,0) ) )
{
	// マッチ!
	NSString* strMatch = [string substringWithRange:rangeOfFirstMatch];
}
- マッチした数を調べる
NSUInteger numberOfMatches =
	[regex numberOfMatchesInString:string
		options:0
		range:NSMakeRange(0, [string length])
	];
サンプル
日付、時間を抜き出す
NSString* string = @"2012/4/13 (木) 14:43";
NSError* error = nil;
NSRegularExpression* regexp =
	[NSRegularExpression regularExpressionWithPattern:@"^(\d+/\d+/\d+).+(\d+:\d+)$"
		options:0
		error:&error
	];
if( error != nil ){
	// Error.
}
else{
	NSTextCheckingResult*	match =
		[regexp firstMatchInString:orgString
			options:0
			range:NSMakeRange(0, orgString.length)
		];
	NSString* result = [NSString stringWithFormat:@"%@ %@",
		[orgString substringWithRange:[match rangeAtIndex:1]],
		[orgString substringWithRange:[match rangeAtIndex:2]]];
}
簡易比較
BOOL foundTrue = ([strTest rangeOfString:@"true"].location != NSNotFound);
メモ
compare:options:
https://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html