2011-07-15 44 views
-1

我創建了一個NSMutableArray並正在搜索/匹配數組的內容與NSString's子串,但如何做到這一點?如何在NSString的子字符串中搜索NSMutablearray內容?

NSMutableArray *tmparray = {@"PPG" , @"AG" , @"HD" }; 
NSString *tmpstring = @"MAAPPG"; 

if ([tmparray containsObject:tmpstring]) { 
    NSLog(@"String found"); 
} 

但它不會發生,因爲tmparray包含「PPG」而不是「MAAPPG」如何搜索子字符串匹配?

回答

2

這個怎麼樣

for(NSString *arrString in tmparray){ 
if([tmpstring rangeOfString:arrString].location != NSNotFound){ 
    NSLog(@"String found"); 
} 
} 
3

您可以使用NSPredicate要做到這一點,但它可能是緩慢的。這裏是沿着你的努力的線條更簡單的方法:

NSMutableArray *tmparray = {@"PPG" , @"AG" , @"HD" }; 
NSString *tmpstring = @"MAAPPG"; 
NSRange *tmprange; 
for(NSString *string in tmparray) { 
    tmprange = [tmpstring rangeOfString:string]; 
    if (tmprange.location != NSNotFound) { 
     NSLog(@"String found"); 
     break; 
    } 
} 
+0

你已經把在斷開給你+1 :) – jrtc27

+0

應使用'rangeOfString'來代替'rangeOfSubstring' –

0
NSArray *tmparray = [NSArray arrayWithObjects:@"PPG" , @"AG" , @"HD",nil]; 
    NSString *tmpstring = @"MAAPPG"; 
    NSRange textRange; 
    for(NSString *string in tmparray) 
    { 
     textRange =[tmpstring rangeOfString:string]; 
     if(textRange.location != NSNotFound) 
     { 
      NSLog(@"String found "); 
     } 
    } 

檢查此通過使用其他子也......