NSPredicate CONTAINS[cd] 篩選

原文鏈接

數組篩選含有中文的方法:

1.
NSString *formatString = [NSStringstringWithFormat:@"(itemName CONTAINS[cd] '%1$@')", str];

[NSPredicatepredicateWithFormat:formatString]
2.
NSPredicate * p = [[NSPredicatepredicateWithFormat:@"(itemName CONTAINS[cd] $str) "]predicateWithSubstitutionVariables:@{@"str":str}];
  • 第一種:str為'是會報錯 Unable to parse the format string "(itemName CONTAINS[cd] ''')
  • 第二章:查詢成功:itemName CONTAINS[cd] "'"
補充:

%n$m@:代表輸出的是字符串,n代表是第幾個參數,設置m的值可以在輸出之前放置空格 %n$md:代表輸出的是整數,n代表是第幾個參數,設置m的值可以在輸出之前放置空格,也可以設為0m,在輸出之前放置m個0 %n$mf:代表輸出的是浮點數,n代表是第幾個參數,設置m的值可以控制小數位數,如m=2.2時,輸出格式為00.00

擴展

  • 正則 輸入內容必須是數字和字母組合
NSString* number=@"(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,14})$";
    NSPredicate *numberPre = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@",number];
BOOL result  = [numberPreevaluateWithObject:self];
  • 不包含在某個結果集里
[NSPredicatepredicateWithFormat:@" NOT (fid in %@) ",@"deaf"]
  • 屬性和值參數化
NSPredicate *searchFor = [NSPredicatepredicateWithFormat:@"SELF = %@ AND %K = min(%@)",self, property, property];
  • 復合篩選
[NSCompoundPredicate andPredicateWithSubpredicates:@[[NSPredicate predicateWithFormat:@"age > 25"], [NSPredicate predicateWithFormat:@"firstName = %@", @"Quentin"]]];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,659評論 19 139
  • 個人學習批處理的初衷來源于實際工作;在某個迭代版本有個BS(安卓手游模擬器)大需求,從而在測試過程中就重復涉及到...
    Luckykailiu閱讀 4,993評論 0 11
  • 在講高效學習的那本書《刻意練習》當中有一個詞是被反復的提到,叫做反饋。意思就是說,學習要真正的有效,一定要有反饋,...
    別停趙越閱讀 511評論 0 0
  • 我一直都很喜歡旅行。能夠背著簡單的行囊,自由自在的走在一直想去的那個地方,是件很美好的事情。 小時候,讀著語文課本...
    晴天陰天雨天閱讀 213評論 0 1
  • <1> 十七八歲的時候你喜歡一個人, 可能是因為他穿了一件白色的襯衣 一條牛仔褲,亦或是一雙干凈的帆布鞋 二十七八...
    我的靈魂要流浪閱讀 265評論 0 0

友情鏈接更多精彩內容