92 votes

Suppression de caractères de NSString en programmation iPhone?

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

Je veux enlever les espaces, et obtenir une chaîne de caractères comme "ABCDEFG".

272voto

Tom Jefferys Points 8065

Vous pouvez utiliser:

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

78voto

Jim Dovey Points 8384

Si vous voulez soutenir plus d'un espace à un moment, ou à soutenir n'importe quel espace, vous pouvez faire ceci:

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

11voto

7KV7 Points 19750

Prises de NSString

stringByReplacingOccurrencesOfString:withString:

Renvoie une nouvelle chaîne dans laquelle toutes les occurrences d'une chaîne de caractères dans le récepteur sont remplacés par une autre chaîne.

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

Paramètres

cible

The string to replace.

remplacement

The string with which to replace target.

Valeur De Retour

Une nouvelle chaîne de caractères dans laquelle toutes les occurrences de la cible dans le récepteur sont remplacés par le remplacement.

10voto

Mitesh Khatri Points 1880

Tous les ci-dessus fonctionne très bien. Mais la bonne méthode est ceci:

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

Il fonctionne comme une méthode TRIM. Il va supprimer tous les avant et à l'arrière des espaces.

Merci

5voto

justin Points 72871

si la chaîne est mutable, ensuite, vous pouvez transformer sur place à l'aide de ce formulaire:

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

ceci est également utile si vous souhaitez que le résultat soit une mutable exemple d'une chaîne d'entrée:

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: