いくつかの文字列があります。先頭に空白があるものとそうでないものがあります。文字列が空白で始まっているかどうかを確認したい場合は削除します。
NSStringクラスにはそのためのメソッドがあります。 stringByTrimmingCharactersInSet:(NSCharacterSet *)set
を確認してください。パラメーターとして[NSCharacterSet whitespaceCharacterSet]
を使用する必要があります。
NSString *foo = @" untrimmed string ";
NSString *trimmed = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
StringByTrimmingCharactersInSet NSString メソッドをwhitespaceAndNewlineCharacterSet NSCharacterSet と共に使用できます。
NSString *testString = @" Eek! There are leading and trailing spaces ";
NSString *trimmedString = [testString stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
作成する必要があるコードの量を減らすために、簡単なマクロを作成しました。
ステップ1:アプリのPCHファイルを編集します。Project-Name-Prefix.pchという名前にする必要があります
#define TRIM(string) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
ステップ2:文字列をトリムしたいときは、ずっと少ないコードを書くことを楽しんでください
NSLog(@"Output: %@ %@", TRIM(@"Hello "), TRIM(@"World "));
Output: Hello World
これにより、先頭の空白のみが削除されます。
NSString *myString = @" 123 ";
NSLog(@"mystring %@, length %d",myString, myString.length);
NSRange range = [myString rangeOfString:@"^\\s*" options:NSRegularExpressionSearch];
myString = [myString stringByReplacingCharactersInRange:range withString:@""];
NSLog(@"mystring %@, length %d",myString, myString.length);
出力
mystring 123 , length 9
mystring 123 , length 6