web-dev-qa-db-ja.com

NSStringから文字を削除しますか?

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

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

94
Raju

次を使用できます。

NSString *stringWithoutSpaces = [myString 
   stringByReplacingOccurrencesOfString:@" " withString:@""];
278
Tom Jefferys

一度に複数のスペースをサポートする場合、または任意の空白をサポートする場合、これを実行できます。

NSString* noSpaces =
    [[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
                           componentsJoinedByString:@""];
78
Jim Dovey

NSString から取得

stringByReplacingOccurrencesOfString:withString:

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

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

パラメーター

ターゲット

The string to replace.

置換

The string with which to replace target.

戻り値

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

11
visakh7

上記はすべて正常に機能します。しかし、正しい方法はこれです:

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

TRIMメソッドのように機能します。前面と背面のすべてのスペースが削除されます。

ありがとう

11
Mitesh Khatri

文字列がmutableの場合、次の形式を使用して所定の場所に変換できます。

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

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

NSMutableString * string = [concreteString mutableCopy];
[string replaceOccurrencesOfString:@" "
                        withString:@""
                           options:0
                             range:NSMakeRange(0, string.length)];
6
justin

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

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

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

3
Kamleshwar