例如,我有包含字符串的数组:
@"demo_1"
@"123"
@"demo_some_text"
@"demo"
@"demo_123"
@"simple_111"
在textfield中输入文字:@“de”。这个@“演示”的最佳搭配。我有这样的方法:
NSString *substring = @"de";
for(NSString *demo in arrayWithStrings)
{
NSRange substringRange = [demo rangeOfString:substring];
if (substringRange.location == 0)
{
foundString = demo;
}
}
但它返回@“demo_123”字符串..你可以帮我这个吗?我的案例字符串必须是@“demo”。感谢。
答案 0 :(得分:2)
我知道有两个用于自动填充文本字段的github项目。我不知道他们的匹配标准是什么,但他们可能会提供一些灵感:https://github.com/hoteltonight/HTAutocompleteTextField和https://github.com/doat/DOAutocompleteTextField。
答案 1 :(得分: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;
}
}
我是这样做的。首先,您对数组进行排序,然后找到匹配。