NSString扩展
#import <Foundation/Foundation.h>
//字符串扩展
@interface NSString(YYAssist)
//是否是有效的区间
-(BOOL)isValidRange:(NSRange)r;
//判断字符串中是否包含内容
-(BOOL) contains:(NSString *)sValue;
//在字符串中查找中间部分
-(NSRange) rangeBetween: (NSString *)sStart and:(NSString *)sEnd range:(NSRange)range;
-(NSRange) rangeBetween: (NSString *)sStart and:(NSString *)sEnd;
//得到指定字符串后面的字符串
-(NSString *) subStringFromString:(NSString *)sSplitter;
@end
NSString扩展实现
//字符串扩展
@implementation NSString(YYAssist)
//是否是有效的区间
-(BOOL)isValidRange:(NSRange)rangeCompare
{
return rangeCompare.length <= self.length && rangeCompare.location < self.length;
}
//判断字符串中是否包含内容
-(BOOL) contains:(NSString *)sFind
{
NSRange rangeFind = [self rangeOfString:sFind];
return [self isValidRange:rangeFind];
}
//在字符串中查找中间部分
-(NSRange) rangeBetween:(NSString *)sStart and:(NSString *)sEnd range:(NSRange)rangeSearch
{
NSString *sRegex = [NSString stringWithFormat:@"%@.*?%@", sStart, sEnd];
NSRange rangeSub = [self rangeOfString:sRegex options:NSRegularExpressionSearch range:rangeSearch];
if ([self isValidRange:rangeSub]) {
rangeSub.location += sStart.length;
rangeSub.length -= sStart.length + sEnd.length;
}
return rangeSub;
}
//默认查找在全部字符串范围内查找中间部分
-(NSRange) rangeBetween:(NSString *)sStart and:(NSString *)sEnd
{
return [self rangeBetween:sStart and:sEnd range:NSMakeRange(0, self.length)];
}
//得到指定字符串后面的字符串
-(NSString *) subStringFromString:(NSString *)sSplitter{
NSRange rangeSplitter = [self rangeOfString:sSplitter];
if ([self isValidRange:rangeSplitter]) {
return [self substringFromIndex:rangeSplitter.length + rangeSplitter.location];
}
return nil;
}
@end