Comment puis-je vérifier si une chaîne contient une autre chaîne en Objective-C?

Comment puis-je vérifier si une chaîne de caractères (NSString) contient une autre chaîne de plus petite?

Je m'attendais à quelque chose comme:

NSString *string = @"hello bla bla";
NSLog(@"%d",[string containsSubstring:@"hello"]);

Mais la plus proche que j'ai pu trouver était:

if ([string rangeOfString:@"hello"] == 0) {
    NSLog(@"sub string doesnt exist");
} 
else {
    NSLog(@"exists");
}

De toute façon, c'est que la meilleure façon de savoir si une chaîne contient une autre chaîne?

  • J'aimerais voir il ajouté en tant que bien, mais dans l'intervalle, il est relativement facile d'ajouter comme une catégorie sur NSString.
  • À l'aide de if ([string rangeOfString:@"hello"] == 0) {...} il y a une erreur d'incompatibilité de type pour NSRange et int. pour corriger cela, vous devez modifier la ligne à la suivante: if ([string rangeOfString:@"hello"].length == 0) {...}
  • iOS 8 ajoute containsString: et voici un mini-invasive façon d'ajouter iOS 7 support petersteinberger.com/blog/2014/...
  • J'ai été un développeur iOS depuis le début et je ne cesse de revoir ce post pour un rapide copier-coller. Je n'arrive pas à mémoriser celui-ci. Les plus visités stackoverflow post dans mon histoire.
  • juste l'utilisation de Swift 😉
InformationsquelleAutor Jonathan. | 2010-05-02