74 votes

Supprimer les espaces de la chaîne dans Objective-C

J'ai une petite question. J'ai quelques cordes. Certains ont un espace au début et d'autres non. Je veux vérifier si une chaîne de caractères commence par un espace et le supprimer. J'espère que quelqu'un pourra m'aider.

207voto

Eimantas Points 29052

Il existe une méthode pour cela dans la classe NSString. Vérifiez stringByTrimmingCharactersInSet:(NSCharacterSet *)set . Vous devriez utiliser [NSCharacterSet whitespaceCharacterSet] comme paramètre:

 NSString *foo = @" untrimmed string ";
NSString *trimmed = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
 

71voto

middaparka Points 33832

Vous pouvez utiliser la méthode stringByTrimmingCharactersInSet NSString avec le NSCharacterSet whitespaceAndNewlineCharacterSet en tant que tel:

 NSString *testString = @"  Eek! There are leading and trailing spaces  ";
NSString *trimmedString = [testString stringByTrimmingCharactersInSet:
                             [NSCharacterSet whitespaceAndNewlineCharacterSet]];
 

7voto

user511037 Points 81

J'ai écrit une macro rapide pour réduire la quantité de code à écrire.

Étape 1: Modifiez le fichier PCH de votre application. Celui-ci doit s'appeler Project-Name-Prefix.pch.

 #define TRIM(string) [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
 

Étape 2: appréciez écrire moins de code lorsque vous souhaitez couper une chaîne

 NSLog(@"Output: %@ %@", TRIM(@"Hello        "), TRIM(@"World      "));

Output: Hello World
 

6voto

Ryan Heitner Points 1586

Cela supprimera uniquement les espaces blancs qui précèdent.

 NSString *myString = @"   123   ";
NSLog(@"mystring %@, length %d",myString, myString.length);
NSRange range = [myString rangeOfString:@"^\\s*" options:NSRegularExpressionSearch];
myString = [myString stringByReplacingCharactersInRange:range withString:@""];
NSLog(@"mystring %@, length %d",myString, myString.length);
 

sortie

 mystring    123   , length 9
mystring 123   , length 6
 

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:

X