我正在尝试使用此谓词过滤字符串数组:
[NSPredicate predicateWithFormat:@"SELF LIKE[c] '#*!%d'", aNumber]
每个类似于 #WILDCARD!ANY_NUMBER 的字符串都是有效的。
但它不起作用:(你能帮我吗?
编辑:
NSString *pattern = [@"#*!" stringByAppendingFormat:@"%d", numberVariable];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
NSArray *filteredArray = [anArray filteredArrayUsingPredicate:pred];
数组 anArray 包含类似 #0!-1 的字符串(numberVariable 为 -1),但数组 filterdArray 为空。所以正则表达式不起作用。
编辑:
我的解决方案:
NSString *pattern = [@"#.*!\\" stringByAppendingFormat:@"%d", numberVariable];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
NSArray *filteredArray = [anArray filteredArrayUsingPredicate:pred];