NSString *s = @"0800 444 333";
ご覧のとおり、この文字列には中央に 2 つの空白があります。私の質問は、文字列が次のようになるようにそれらを取り除く方法です。
s = @"0800444333"
NSString *s = @"0800 444 333";
ご覧のとおり、この文字列には中央に 2 つの空白があります。私の質問は、文字列が次のようになるようにそれらを取り除く方法です。
s = @"0800444333"
これは、単純な文字列フォーマットで実現できます。次に例を示します。
NSString *s = @"0800 444 333";
NSString *secondString = [s stringByReplacingOccurrencesOfString:@" " withString:@""];
詳細とオプションについては、NSString クラス リファレンスを参照してください。
さらに単純化するために、この行は次のようにも記述できます。
NSString *s = [@"0800 444 333" stringByReplacingOccurrencesOfString:@" " withString:@""];
先頭と末尾の空白を削除したい場合は、stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]
string メソッドを使用します。
たとえば。
NSString *s = @"0800 444 333";
s = [s stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
すべてのスペースを削除するには、@NSPostWhenIdle による回答で十分です。
理由はわかりませんが、私の場合は @" " を置き換えてもうまくいきません。解決策は簡単です。スペースを Unicode 文字として記述するだけです。
str = [str stringByReplacingOccurrencesOfString:@"\u00a0" withString:@""];
次のコードを使用してください。
str = [str stringByReplacingOccurrencesOfString:@"\t" withString:@"%20"];
また
str = [str stringByReplacingOccurrencesOfString:@" " withString:@"%20"];