2010-10-07 10 views
0

J'ai une longue chaîne qui a une liste de tous les "mots entrés" dans la zone de texte. Je veux être en mesure de vérifier la chaîne longue par rapport à une chaîne d'un mot pour voir si la chaîne longue contient le mot dans la chaîne courte.comment savoir est une longue chaîne contatins un mot obj c, iphone

Des idées?

J'ai essayé ceci et quelques autres choses, où newString est la chaîne longue et currentTextrightnow est la chaîne courte.

textRange =[newString rangeOfString:currentTextrightnow]; 
NSLog(@"currenttextright now is %@", currentTextrightnow); 
if(textRange.location != NSNotFound) 

{ 

    NSLog(@"Does contatin the substring"); 

} 
+0

ce que vous faites devrait être assez bon. y a-t-il un problème? –

+0

Oui, le problème est qu'il retourne toujours vrai, peu importe ce que je mets dedans. – Bdennis317

+1

Avez-vous vérifié que 'newString' n'est pas' nil'? – Wevah

Répondre

6

J'ai eu le même problème que vous. Vous le faites correctement (si textRange est de type NSRange) mais le problème est que NSNotFound ne fonctionne pas comme prévu (peut-être un bogue). Au lieu de cela, vous pouvez le faire

if (range.length > 0) { 
    //it found it 
} else { 
    // it didn't find it 
} 

Hope that helps.

+0

MERCI !!!! Cela l'a corrigé – Bdennis317

+4

Pourquoi poster que cela a fonctionné et ne pas le marquer correctement? Sérieusement? – Rudiger

+1

Je viens de regarder en arrière après environ 3 ans. Mes excuses à propos de ne pas marquer que c'était correct. À l'époque, je ne savais pas exactement comment utiliser Stack Overflow – Bdennis317