string - NSComparisonPredicate 查找空字符串

标签 string cocoa nspredicate

我需要使用 NSComparisonPredicate 检查数组中的字符串是否为空。正在执行的谓词是: string MATCHES[c] "" 但结果中没有显示任何内容,它没有列出我的空字符串。 我的谓词是错误的还是有另一种方法可以使用 NSPredicate 处理空字符串?

最佳答案

我不确定你为什么使用 NSComparisonPredicate ,我从未使用过那个,所以我不熟悉它。您尝试过 predicateWithFormat 吗?

NSPredicate *pred = [NSPredicate predicateWithFormat:@"self.length == 0"];

尚不清楚您要如何使用谓词,但如果您使用它来过滤数组,这应该可以工作。

如果您想知道数组中空字符串的索引,那么您可以使用indexesOfObjectsPassingTest:,如下所示:

NSIndexSet *indxs = [array indexesOfObjectsPassingTest:^BOOL(NSString *aString, NSUInteger idx, BOOL *stop) {
        return aString.length == 0;
    }];
    NSLog(@"%@",indxs);

关于string - NSComparisonPredicate 查找空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858404/

相关文章:

java - 为什么 byteArray 的长度是 22 而不是 20?

c - 使用命令行参数在 C 文件中查找和替换单词

r - 如何将字符串解析为真正的等式

objective-c - 如何获取 Cocoa 中字符的 int ASCII 值?

ios - 使用 NSPredicate 的 FetchRequest 找不到结果?

java - 程序为 println(String s) 提供正确的输出;但不是 print(String s);为什么?

swift - 如何为所有正在运行的应用程序添加监听器

objective-c - 为 Cocoa 导入 <Foundation/Foundation.h> 时导入的文件?

objective-c - 简化 NSPredicate 中数组的字符串检查

ios - 在 IOS 中使用 NSPredicate 按数组的一个元素过滤数组的 NSArray