ios-NSPredicate字符段长度

问题描述

NSPredicate字符段长度

从一个数组中过滤出另一个数组,代码片段:

NSMutableArray *filteredArray = [ [NSMutableArray alloc] initWithCapacity:1];
    [wordsArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop)
     {
         NSString *currentWord = (NSString *)obj;
         if(([currentWord length]>=4 && [currentWord length]<=6) && [currentWord rangeOfString:@" "].location == NSNotFound)
         {
             [filteredArray addObject:currentWord];
         }
     }];

代码实现的很成功,但是我想如果用 filteredArrayUsingPredicate: 是不是会完成的更好一点?

应该怎么用 NSPredicate来代替 [currentWord length]>=4 && [currentWord length]<=6) && [currentWord rangeOfString:@" "].location == NSNotFound

解决方案

NSPredicate *p = [NSPredicate predicateWithFormat:@"length >= 4 AND length <= 6 AND NOT SELF CONTAINS ' '"];
时间: 2024-10-31 11:44:06

ios-NSPredicate字符段长度的相关文章

[IOS开发]搜索用谓词NSPredicate

Cocoa提供了一个类NSPredicate类,该类主要用于指定过滤器的条件,该对象可以准确的描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配.谓词表示计算真值或假值的函数.     NSPredicate *predicate;     predicate=[NSPredicatepredicateWithFormat:@"name=='Herbie'"];//用predicateWithFormat创建一个谓词,name作为键路径    BOOL match=[pre

iOS中如何判断中英文混合的字符长度_IOS

废话不多说,直接给大家贴代码了. 一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //第一种方法 NSLog(@"--first-%i",[self convertToInt:@"123我爱你"]); //第二种方法 NSLog(@"--second--%ld",[self getToInt:@&

ios 字符转化-iOS 如何将一个字符转换成byte?最好能有代码

问题描述 iOS 如何将一个字符转换成byte?最好能有代码 比如 nssting* str = @"2"; 转化.... 解决方案 http://www.cnblogs.com/leipei2352/p/3722411.html 解决方案二: http://mobile.51cto.com/hot-404914.htm 解决方案三: NSString *str = @"2"; NSData *data = [str dataUsingEncoding:NSUTF8

字符串-ios怎么在viewcontroller.m中调用AppDelegate.m中的字符

问题描述 ios怎么在viewcontroller.m中调用AppDelegate.m中的字符 我用百度推送来弄推送消息,但是返回的推送数据是在appdelegate.m中的一个字符串userInfo.下载我需要在viewcontroller中调用这个字符串,我该怎样子才能做到呢?各位大神教教我呀,小的急死了. 解决方案 用NSUserDefaults 试试. 在Appdelegate.m中 ,得到userInfo之后,添加下列代码,将userInfo存起来. [[NSUserDefaults

IOS谓词--NSPredicate

Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在计算机中表示计算真假值的函数, 它使用起来有点儿像SQL 的查询条件,主要用于从集合中分拣出符合条件的对象,也可以 用于字符串的正则匹配.首先我们看一个非常简单的例子,对谓词有一个认知. #import <Foundation/Foundation.h> @interface Person: NSObject{ int pid; NSString *name; float height; } -(void) setPid:

iOS的查询、过滤(NSPredicate)

原文:http://www.2cto.com/kf/201208/150608.html 参考:http://blog.csdn.net/iscape/article/details/7318021 参考:http://blog.csdn.net/zhulei1018/article/details/6777220 首先举一个例子: 匹配9-15个由字母/数字组成的字符串的正则表达式:     NSString * regex = @"^[A-Za-z0-9]{9,15}$";    

iOS UITextField最大字符数和字节数的限制详解_IOS

前言 这里我给大家几组测试用例可以一试,为啥不好用.      1.限制10个字节,输入2个Emoj之后是8个字节(一个Emoj是4个字节),此时再输入一个中文,看看结果如何(中文的UTF8占3个字节)      2.限制5个字符,一个Emoj是2个字符,其他都是一个.此时输入两个Emoj,再输入中文,然后中文联想试试. 就目前的情况来说,看了很多资料,并没有一个通用的能限制字符数和字节数的封装.这里全面进行了总结,并进行了封装.欢迎大家下载. 一. 字符限制 1. 错误方法 常见的这种方法是错

微信开发中使用js改变title标签中的字符,安卓能改变,ios没有改变

问题描述 微信开发中使用js改变title标签中的字符,安卓能改变,ios没有改变 比如这种,document.title ="新的title名称"但貌似这种类型的写法都不行查了很久的百度没看到确切的解决方法,求大神赐教..

IOS开发之NSPredicate 查询、搜索

简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 最常用到的函数 + (NSPredicate *)predicateWithFormat:(NSString *)predicateFormat, ...; 1.比较运算符 > .< .== . >= .<= . != 例:@"number >= 99"   2.范围运算符:IN .BETWEEN 例:@"number BE