web-dev-qa-db-fra.com

Comment remplacer un caractère dans NSString sans insérer d'espace?

Supposons que j'ai la ficelle

NSString* myString  = @"Hello,";

Comment puis-je supprimer la virgule sans laisser d'espace? J'ai essayé:

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

et

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

Mais les deux partent des espaces.

30
Sheehan Alam

Je viens d'exécuter le test suivant

NSString * myString = @"Hello,";

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

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

Et je reçois 2010-04-05 18:51:18.885 TestString[6823:a0f] Helloxx en sortie. Il n'y a plus de place.

102
Brandon Bodnar

l'autre façon que vous pouvez utiliser .. par stringByReplacingCharactersInRange

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

"jeton" signifie que vous souhaitez remplacer NSString et "i" si vous souhaitez modifier NSString par "*" 

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

Cela garantira qu'il n'y a que 5 caractères dans la chaîne, mais sachez que cela lève également une exception s'il n'y a pas au moins 5 caractères dans lesquels commencer. Comment gérez-vous cette chaîne? Est-il affiché à l'utilisateur? Est-il écrit dans un fichier? Le code que vous avez publié ne reproduit pas l'erreur. Vous devriez donc peut-être publier le code qui pose problème.

0
dreamlax