1

我有一个场景,我想过滤NSArray谁有NSDictionaryobject 的对象,每个对象都有 key name。我想过滤那些name关键值应该以特殊字符或数字字符0-9,~!@#$%^&*()_等开头的对象。

我试图在谷歌上找到这个但没有得到正确的解决方案。我使用了以下谓词,但无法获得正确的对象。

NSPredicate *predicate=   [NSPredicate predicateWithFormat:@"self.name BEGINSWITH %@",@"[^0-9]+.*"];
4

1 回答 1

1

BEGINSWITH运算符不支持正则表达式。您可以使用谓词中的以下内容检查它是否以非字母字符开头:

 NSString *myRegex = @"[A-Za-z]*";
 NSPredicate *myTestPred = [NSPredicate predicateWithFormat:@"NOT (SELF MATCHES %@)", myRegex]
于 2016-12-27T07:43:47.600 回答