2013-04-17 30 views
0

比如我有数组字符串:的UITextField找到阵列的最佳匹配串

@"demo_1" 
@"123" 
@"demo_some_text" 
@"demo" 
@"demo_123" 
@"simple_111" 

在文本框输入我的文字:@“德”。在这个@“演示”中最好的匹配。我有这样的方法:

​​

但它返回@“demo_123”字符串..你可以帮助我吗?我的情况下,字符串必须是@“演示”。谢谢。

+0

你如何计算最佳匹配?这是比例更高的比赛吗? – Anupdas

回答

0

这实际上取决于你想如何匹配。

NSArray *array = [NSArray arrayWithObjects:@"demo_1",@"123",@"demo_some_text",@"demo",@"demo_123", @"simple_111", nil]; 
NSArray *sorted = [array sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)]; 
NSString *substring = @"de"; 
for(NSString *demo in sorted) 
{ 
    NSRange substringRange = [demo rangeOfString:substring]; 
    if (substringRange.location == 0) 
    { 
     NSLog(@"%@", demo); 
     break; 
    } 
} 

我这样做的方式。首先你排序你的数组,并找到匹配。