question NSString - Méthode rangeOfString

voix
29

J'ai un problème que je ne peux pas comprendre.

Je suis en train d'exécuter la méthode de rangeOfString sur une chaîne, et je ne suis pas sûr de savoir comment déterminer si la chaîne n'a pas été trouvé. Par exemple:

NSRange range = [@abc rangeOfString:@d options:NSCaseInsensitiveSearch range:NSMakeRange(0,3)];

Il est clair que, « d » ne figure pas dans la chaîne « abc ». Je voudrais être en mesure de le faire:

if(the range is empty since d is not in abc)
   //do something

Quel est le code pour cela?

Merci!!

Créé 17/08/2010 à 16:55
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
68

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 de aString. Retours {NSNotFound, 0} si aString est introuvable ou est vide (@ "").

Il semble donc que:

if ([@"abc" rangeOfString:@"d"].location == NSNotFound){
  //Do something

Est-ce le chemin approuvé par Apple.

MODIFIER:

J'ai fait une faute de frappe vraiment mauvais, fixe, merci Kalle.

Créé 17/08/2010 à 17:02
source utilisateur

voix
13

Vérifiez la longueur de la plage. Si elle est non nulle, il a été trouvé.

Créé 17/08/2010 à 17:00
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more