J'ai un problème que je n'arrive pas à comprendre.
J'essaie d'exécuter la méthode rangeOfString sur une chaîne et je ne sais pas comment déterminer si la chaîne n'a pas été trouvée. Par exemple:
NSRange range = [@"abc" rangeOfString:@"d" options:NSCaseInsensitiveSearch range:NSMakeRange(0,3)];
De toute évidence, "d" n'est pas contenu dans la chaîne "abc". J'aimerais pouvoir faire ça:
if(the range is empty since "d" is not in "abc")
//do something
Quel est le code pour cela?
Merci!!
De la documentation de NSString
-[NSString rangeOfString]
Valeur de retour
Une structure NSRange donnant l'emplacement et la longueur dans le récepteur de la première occurrence d'une chaîne. Renvoie {NSNotFound, 0} si une chaîne n'est pas trouvée ou est vide (@ "").
Il ressemble donc à:
if ([@"abc" rangeOfString:@"d"].location == NSNotFound){
//Do something
Est la méthode approuvée par Apple.
MODIFIER:
J'ai fait une très mauvaise faute de frappe, je l'ai corrigée, merci Kalle.
Vérifiez la longueur de la plage. S'il est différent de zéro, il a été trouvé.