19
NSString *s = @"0800 444 333";

ご覧のとおり、この文字列には中央に 2 つの空白があります。私の質問は、文字列が次のようになるようにそれらを取り除く方法です。

s = @"0800444333"
4

7 に答える 7

65

これは、単純な文字列フォーマットで実現できます。次に例を示します。

NSString *s = @"0800 444 333";
NSString *secondString = [s stringByReplacingOccurrencesOfString:@" " withString:@""];

詳細とオプションについては、NSString クラス リファレンスを参照してください。

さらに単純化するために、この行は次のようにも記述できます。

NSString *s = [@"0800 444 333" stringByReplacingOccurrencesOfString:@" " withString:@""];
于 2012-08-25T08:14:10.680 に答える
12

先頭と末尾の空白を削除したい場合は、stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]string メソッドを使用します。

たとえば。

NSString *s = @"0800 444 333";
s = [s stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

すべてのスペースを削除するには、@NSPostWhenIdle による回答で十分です。

于 2012-08-25T09:15:14.790 に答える
1

理由はわかりませんが、私の場合は @" " を置き換えてもうまくいきません。解決策は簡単です。スペースを Unicode 文字として記述するだけです。

str = [str stringByReplacingOccurrencesOfString:@"\u00a0" withString:@""];
于 2019-03-05T09:00:40.703 に答える
0

次のコードを使用してください。

str = [str stringByReplacingOccurrencesOfString:@"\t" withString:@"%20"];

また

str =  [str stringByReplacingOccurrencesOfString:@" " withString:@"%20"];
于 2018-12-14T10:00:28.210 に答える