NSPredicate匹配反斜杠

时间:2014-01-23 13:16:18

标签: ios regex nspredicate

我想从核心数据中获取与字符串\\ xxxx \\ yyyy \\ zzzz匹配的名称实体,所以我使用了像NSPredicate *myPredicate = [NSPredicate predicateWithFormat:" name LIKE %@", \\xxxx\\yyyy\\zzzz];这样的NSPredicate但是有时会返回null。我怀疑反斜杠的问题所以请帮助我任何一个。是否可以从核心数据中获取此实体?

1 个答案:

答案 0 :(得分:0)

谓词中的

“LIKE”执行简单的通配符匹配(使用?*)。 因此,反斜杠字符具有特殊含义,必须进行转义 两次(一次用于字符串文字,一次用于“LIKE”操作符):

[NSPredicate predicateWithFormat:"name LIKE %@", @"\\\\xxxx\\\\yyyy\\\\zzzz"]

但是如果你不需要通配符匹配,那么使用“==”(或“BEGINSWITH”,“CONTAINS”)代替:

[NSPredicate predicateWithFormat:"name == %@", @"\\xxxx\\yyyy\\zzzz"]