NSPredicate 匹配反斜杠
Posted
技术标签:
【中文标题】NSPredicate 匹配反斜杠【英文标题】:NSPredicate to Match the backslash 【发布时间】:2014-01-23 13:16:17 【问题描述】:我想通过与核心数据中的字符串 \\xxxx\\yyyy\\zzzz 匹配的名称来获取实体,因此我使用了 NSPredicate,例如 NSPredicate *myPredicate = [NSPredicate predicateWithFormat:" name LIKE %@", \\xxxx\\yyyy\\zzzz];
,但有时返回 null。我怀疑反斜杠的问题,所以请帮忙我任何一个。有什么方法可以从核心数据中获取这个实体吗?
【问题讨论】:
那是什么 \\xxxx\\yyyy\\zzzz @karan:你有机会检查答案吗?那是你要找的吗?如果您需要更多信息,请告诉我。 【参考方案1】:谓词中的“LIKE”进行简单的通配符匹配(与?
和*
)。
因此,反斜杠字符具有特殊含义,必须转义
两次(一次用于字符串文字,一次用于“LIKE”运算符):
[NSPredicate predicateWithFormat:"name LIKE %@", @"\\\\xxxx\\\\yyyy\\\\zzzz"]
但如果您不需要通配符匹配,请改用“==”(或“BEGINSWITH”、“CONTAINS”):
[NSPredicate predicateWithFormat:"name == %@", @"\\xxxx\\yyyy\\zzzz"]
【讨论】:
以上是关于NSPredicate 匹配反斜杠的主要内容,如果未能解决你的问题,请参考以下文章