Nspredicate匹配字符串数组中的字符

时间:2013-06-25 00:20:54

标签: objective-c nspredicate

NSString *str = @"A X P X P X L X E R A N D O M";
NSArray *strArray = [str componentsSeparatedByCharactersInSet:@" "];

NSArray *words = @[@"APPLE", @"ORANGE", @"LEMON"];

我在* str中有一堆字母,这是将它们与* word数组中每个字符匹配的最佳方法,这样@“APPLE”就会返回一个匹配。

1 个答案:

答案 0 :(得分:0)

嗯,我不知道这是不是最好的方式,它不使用NSPredicate,但它是一种可以实现你想要的方式。

NSString *str1 = @"A X P X P X L X E R A N D O M";

NSCharacterSet* c = [NSCharacterSet characterSetWithCharactersInString:str1];
NSArray *words = @[@"APPLE", @"ORANGE", @"LEMON"];

for (NSString* s in words) {
    if ([[s stringByTrimmingCharactersInSet:c] isEqualToString:@""]) {
        NSLog(@"%@ is a match",s);
    }
}