96
NSString *myString = @"A B C D E F G";

スペースを削除したいので、新しい文字列は「ABCDEFG」になります。

4

6 に答える 6

282

あなたが使用することができます:

NSString *stringWithoutSpaces = [myString 
   stringByReplacingOccurrencesOfString:@" " withString:@""];
于 2009-05-29T12:45:50.040 に答える
80

一度に複数のスペースをサポートしたい場合、または空白をサポートしたい場合は、次のようにすることができます:

NSString* noSpaces =
    [[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
                           componentsJoinedByString:@""];
于 2009-05-29T16:41:35.763 に答える
11

NSStringから取得

stringByReplacingOccurrencesOfString:withString:

レシーバー内のターゲット文字列のすべての出現箇所が別の指定された文字列に置き換えられた新しい文字列を返します。

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement

パラメーター

目標

The string to replace.

置換

The string with which to replace target.

戻り値

レシーバー内のターゲットのすべての出現が置換によって置き換えられる新しい文字列。

于 2011-03-21T10:28:18.003 に答える
11

上記のすべてが正常に機能します。しかし、正しい方法は次のとおりです。

yourString = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

TRIMメソッドのように機能します。前後のスペースをすべて削除します。

ありがとう

于 2012-11-09T12:32:52.207 に答える
6

文字列が変更可能である場合は、次の形式を使用してその場で変換できます。

[string replaceOccurrencesOfString:@" "
                        withString:@""
                           options:0
                             range:NSMakeRange(0, string.length)];

これは、結果を入力文字列の可変インスタンスにしたい場合にも役立ちます。

NSMutableString * string = [concreteString mutableCopy];
[string replaceOccurrencesOfString:@" "
                        withString:@""
                           options:0
                             range:NSMakeRange(0, string.length)];
于 2012-08-12T09:49:07.187 に答える
4

これを試すことができます

- (NSString *)stripRemoveSpaceFrom:(NSString *)str {
    while ([str rangeOfString:@"  "].location != NSNotFound) {
        str = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
    }
    return str;
}

これがあなたを助けることを願っています。

于 2012-10-23T13:31:34.027 に答える