2017-05-04 1 views
0

Je souhaite trouver un mot dans une chaîne, par exemple si un mot est présent dans une chaîne particulière ou non.Comment rechercher une sous-chaîne dans la chaîne dans Objective-c

Chaîne 1 A:

Nombre de cas
SKU Barcode


Chaîne 2 A:

Case Numéro

Je veux savoir si le numéro de dossier est présent dans la chaîne 1 ou non.

if ([string1 rangeOfString:string2].location !=NSNotFound) { 

     NSLog(@"matched");} 
else 
{ NSLog(@"not matched");} 

mais ici je deviens ... pourquoi ne correspond pas ..Et alors quelle est la différence d'utilisation .location et .length Sortie:

04/05/2017 11: 38: 33,128495 lien [26540: 17390387] Chaîne 1: Numéro de dossier
SKU Barcode


2017-05-04 11: 38: 33,129301 link [26540: 17390387] Chaîne 2: Nombre de cas

Merci d'avance!

+2

double possible de [Comment puis-je vérifier si une chaîne contient une autre chaîne en Objective-C?] (Http://stackoverflow.com/questions/2753956/how-do-i-check-if-a -string-contient-une-autre-chaîne-dans-objectif-c) –

+0

@RajeshkumarR, j'utilise même seulement mais pourquoi je ne reçois pas de résultat correspondant .. je demande que seulement. S'il vous plaît aidez-moi –

+0

Pouvez-vous NSLog chaîne1 et chaîne2 et coller ici? –

Répondre

1
NSString *string1 = @"Case Number \n 1 \n SKU Barcode"; 
NSString *string2 = @"Case Number"; 
if ([string1 rangeOfString:string2].location !=NSNotFound) { 

    NSLog(@"matched");} 
else 
{ NSLog(@"not matched");} 

} 

Ça marche pour moi.

+0

, Chaîne 1 a trois lignes, numéro de dossier est en 1ère ligne, 1 en 2ème ligne, code à barres SKU en 3 e ligne –

+0

Pouvez-vous montrer comment vous avez créé string1 et string2? –

+0

Il vient du serveur, je n'ai pas créé cette chaîne –

0

Si vous soutenez iOS 8.0 partir, vous pouvez utiliser containsString:

if ([string1 containsString:string2]) 
    NSLog(@"matched"); 
else 
    NSLog(@"not matched"); 

Si cela ne fonctionne pas, alors il y a quelque chose de mal avec l'un ou l'autre de vos chaînes (par exemple, des caractères d'espace ou de contrôle supplémentaires à la fin).

0

Votre chaîne2 contient des caractères autres que "Numéro de dossier". Testez en insérant les lignes suivantes dans votre code.

if([string2 isEqualToString:@"Case Number"]) NSLog(@"String 2 is OK"); 
else NSLog(@"String 2 is bad!");