Antworten:
Du könntest benutzen:
NSString *stringWithoutSpaces = [myString
stringByReplacingOccurrencesOfString:@" " withString:@""];
Wenn Sie mehr als ein Leerzeichen gleichzeitig oder ein Leerzeichen unterstützen möchten, können Sie dies tun:
NSString* noSpaces =
[[myString componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
componentsJoinedByString:@""];
A B C D E F
.
Entnommen aus NSString
stringByReplacingOccurrencesOfString:withString:
Gibt eine neue Zeichenfolge zurück, in der alle Vorkommen einer Zielzeichenfolge im Empfänger durch eine andere angegebene Zeichenfolge ersetzt werden.
- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement
Parameter
Ziel
The string to replace.
Ersatz
The string with which to replace target.
Rückgabewert
Eine neue Zeichenfolge, in der alle Vorkommen von Zielen im Empfänger durch Ersetzen ersetzt werden.
Alles oben wird gut funktionieren. Aber die richtige Methode ist folgende:
yourString = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
Es funktioniert wie eine TRIM-Methode. Es werden alle vorderen und hinteren Leerzeichen entfernt.
Vielen Dank
[NSCharacterSet whitespaceCharacterSet]
und [NSCharacterSet whitespaceAndNewlineCharacterSet]
.
Wenn die Zeichenfolge veränderbar ist , können Sie sie mithilfe des folgenden Formulars an Ort und Stelle transformieren:
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];
Dies ist auch nützlich, wenn das Ergebnis eine veränderbare Instanz einer Eingabezeichenfolge sein soll:
NSMutableString * string = [concreteString mutableCopy];
[string replaceOccurrencesOfString:@" "
withString:@""
options:0
range:NSMakeRange(0, string.length)];
Sie können dies versuchen
- (NSString *)stripRemoveSpaceFrom:(NSString *)str {
while ([str rangeOfString:@" "].location != NSNotFound) {
str = [str stringByReplacingOccurrencesOfString:@" " withString:@""];
}
return str;
}
Hoffe das wird dir helfen.