webentwicklung-frage-antwort-db.com.de

Wie kann man ein Zeichen in NSString ersetzen, ohne ein Leerzeichen einzufügen?

Nehmen wir an, ich habe den String

NSString* myString  = @"Hello,";

Wie kann ich das Komma entfernen, ohne ein Leerzeichen zu hinterlassen? Ich habe versucht:

NSString* newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];

und

NSString* newString = [myString stringByTrimmingCharactersInSet:[NSCharacterSet punctuationCharacterSet]];

Aber beide verlassen Räume.

30
Sheehan Alam

Ich habe gerade folgendes getestet

NSString * myString = @"Hello,";

NSString * newString = [myString stringByReplacingOccurrencesOfString:@"," withString:@""];

NSLog(@"%@xx",newString);

Und ich bekomme 2010-04-05 18:51:18.885 TestString[6823:a0f] Helloxx als Ausgabe. Es ist kein Platz mehr da.

102
Brandon Bodnar

auf die andere Art und Weise können Sie .. by stringByReplacingCharactersInRange verwenden

token = [token stringByReplacingCharactersInRange:NSMakeRange(i, 1) withString:@"*"];

"Token" ist der Wunsch, den NSString zu ersetzen, und "i" soll der NSString durch "*" geändert werden. 

0
qn5566
NSString *newString = [myString substringToIndex:5];

Dadurch wird sichergestellt, dass nur 5 Zeichen in der Zeichenfolge vorhanden sind. Beachten Sie jedoch, dass dies auch eine Ausnahme auslöst, wenn nicht mindestens 5 Zeichen in der Zeichenfolge enthalten sind. Wie gehst du mit dieser Zeichenfolge um? Wird es dem Benutzer angezeigt? Wird es in eine Datei geschrieben? Der von Ihnen gepostete Code reproduziert den Fehler nicht. Daher sollten Sie vielleicht den Code posten, mit dem Sie ein Problem haben.

0
dreamlax