wuhuang 2012-01-17
判断字符串首字母是否为字母。
Objective-c代码
NSString*regex=@"[A-Za-z]+";
NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",regex];
if([predicateevaluateWithObject:aString]){
}
NSString*regex=@"[A-Za-z]+";
NSPredicate*predicate=[NSPredicatepredicateWithFormat:@"SELFMATCHES%@",regex];
if([predicateevaluateWithObject:aString]){
}
判断Array中是否包含某一规则的对象,并返回一个数组:
NSPredicate*filterPredicate=[NSPredicatepredicateWithFormat:@"SELFCONTAINS%@",regex];
并调用:-(NSArray*)filteredArrayUsingPredicate:(NSPredicate*)predicate;方法即可。本文来自织梦
获得一个数组中某些对象除外的数组:
NSPredicate*notPredicate=[NSPredicatepredicateWithFormat:@"NOT(SELFin%@)",arrayFilter2];且还是要调用-(NSArray*)filteredArrayUsingPredicate:(NSPredicate*)predicate;方法。
同样,如果我们想找出某个范围内的对象,创建如下Predicate(这里可以用到所有的比较操作符):NSPredicate*pre=[NSPredicatepredicateWithFormat:@"self.***<5"];
并调用:-(BOOL)evaluateWithObject:(id)object;方法。
在这里啰嗦一句,如果只是在数组中查找是否存在对象时用indexOfObject,如果不存在则返回为NSNotFound.
字符串替换:
Objective-c代码
NSError*error=NULL;
NSRegularExpression*regex=[NSRegularExpressionregularExpressionWithPattern:@"(encoding=\")[^\"]+(\")"
options:0
error:&error];
NSString*sample=@"";
NSLog(@"Start:%@",sample);
NSString*result=[regexstringByReplacingMatchesInString:sample
options:0
range:NSMakeRange(0,sample.length)
withTemplate:@"$1utf-8$2"];
NSLog(@"Result:%@",result);
NSError*error=NULL;
NSRegularExpression*regex=[NSRegularExpressionregularExpressionWithPattern:@"(encoding=\")[^\"]+(\")"
options:0
error:&error];
NSString*sample=@"";
NSLog(@"Start:%@",sample);
NSString*result=[regexstringByReplacingMatchesInString:sample
options:0
range:NSMakeRange(0,sample.length)
withTemplate:@"$1utf-8$2"];
NSLog(@"Result:%@",result);
from:http://lovelysimon.blog.sohu.com/190483498.html