核心数据:如何使用 NSPredicate 查找空字段

Posted

技术标签:

【中文标题】核心数据:如何使用 NSPredicate 查找空字段【英文标题】:Core Data: How to find empty fields using NSPredicate 【发布时间】:2012-04-22 19:06:07 【问题描述】:

我有一个数据库,其中包含一些字符串字段,其中只有空格。在我的情况下,这不是一个有效的情况,所以我希望找到这些字段并将它们替换为预定义的字符串。

有没有办法使用 NSPredicate 只获取这些对象,或者我必须迭代所有对象,修剪目标字段并检查长度是否为零?

谢谢!

【问题讨论】:

【参考方案1】:

你可以试试这样的:

NSString *regex = @"\s+";
NSPredicate *regexPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];

【讨论】:

虽然,由于其他原因,我最终以迭代所有对象而告终。您的答案似乎是正确的方向。我以后可能会用它,谢谢你的帮助!! (抱歉,我无法确认,因为我没有测试)【参考方案2】:
NSString *whiteSpaceStr = @"    This      line  contains many   white       space!   ";

// OR you string could be only

NSString *whiteSpaceStr = @"     ";

while ([whiteSpaceStr rangeOfString:@"  "].location != NSNotFound) 
    whiteSpaceStr = [whiteSpaceStr stringByReplacingOccurrencesOfString:@"  " withString:@" "];

【讨论】:

以上是关于核心数据:如何使用 NSPredicate 查找空字段的主要内容,如果未能解决你的问题,请参考以下文章

核心数据:在两个实体中查找的 NSPredicate

核心数据和 NSPredicate

使用 AND 对多 NSPredicate 的核心数据

NSPredicate 返回空数组

如何在 iOS 的核心数据中创建和使用带有查询的 NSPredicate?

如何在核心数据中使用 NSPredicate 从属性之一获取值