iOS: 实践 NSString扩展

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值