如何在Objective-c中的字符串中查找子字符串

如何在Objective-c中的字符串中查找子字符串,objective-c,nsstring,Objective C,Nsstring,我想在一个字符串中找到一个单词,也就是说,一个单词是否出现在特定的字符串中 字符串1有: 病例编号 1 SKU条码 字符串2有: 案件编号 我想知道字符串1中是否存在案例编号 if ([string1 rangeOfString:string2].location !=NSNotFound) { NSLog(@"matched");} else { NSLog(@"not matched");} 但是在这里我得到了不匹配的…为什么..然后使用.位置和.长度有什么区别 输

我想在一个字符串中找到一个单词,也就是说,一个单词是否出现在特定的字符串中

字符串1有:

病例编号
1
SKU条码


字符串2有:

案件编号

我想知道字符串1中是否存在案例编号

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

        NSLog(@"matched");} 
else 
{ NSLog(@"not matched");}
但是在这里我得到了不匹配的…为什么..然后使用.位置和.长度有什么区别 输出:

2017-05-04 11:38:33.128495链接[26540:17390387]字符串1:案例编号
1
SKU条码


2017-05-04 11:38:33.129301链接[26540:17390387]字符串2:案例编号

提前谢谢

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");}

}

它对我有用

如果您支持iOS 8.0以后的版本,则可以使用
containssString

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

如果这不起作用,则说明您的一个或两个字符串(例如,末尾的额外空格或控制字符)有问题。

您的字符串2包含@“Case Number”以外的字符。通过在代码中插入以下行进行测试

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

可能是@RajeshkumarR的副本,我只使用了相同的,但为什么我得到的结果不匹配。我只是在问这个问题。请帮助我记录string1和string2并粘贴到这里?在您的问题@Chandrikavishcoul log
[string1数据使用编码:NSUTF8StringEncoding]
string2的相同?它们之间可能有一个不可见的空格或类似的东西。字符串1有三行,案例编号在第1行,1在第2行,SKU条形码在第3行。您能展示一下您是如何创建string1和string2的吗?它来自服务器,我没有创造这个string@ChandrikaVisvesh你能记录string1和string2并粘贴到这里吗。