【问题标题】:NSPredicate to Match the backslashNSPredicate 匹配反斜杠
【发布时间】:2014-01-23 13:16:17
【问题描述】:

我想通过与核心数据中的字符串 \\xxxx\\yyyy\\zzzz 匹配的名称来获取实体,因此我使用了 NSPredicate,例如 NSPredicate *myPredicate = [NSPredicate predicateWithFormat:" name LIKE %@", \\xxxx\\yyyy\\zzzz];,但有时返回 null。我怀疑反斜杠的问题,所以请帮忙我任何一个。有什么方法可以从核心数据中获取这个实体吗?

【问题讨论】:

  • 那是什么 \\xxxx\\yyyy\\zzzz
  • @karan:你有机会检查答案吗?那是你要找的吗?如果您需要更多信息,请告诉我。

标签: ios regex nspredicate


【解决方案1】:

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

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

但如果您不需要通配符匹配,请改用“==”(或“BEGINSWITH”、“CONTAINS”):

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

【讨论】:

    猜你喜欢
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多