字符串中查找多处子字符串

//加红子字符串  titleStr为父字符串  text为子字符串

+ (NSMutableAttributedString *)redCharacterWith:(NSString *)titleStr subText:(NSString *)text

{

    NSMutableArray *locationArray = [[NSMutableArray alloc]init];

    NSString *temp = nil;

    for(int i =0; i < [titleStr length]; i++)

    {

        if(i <= titleStr.length-text.length)

        {

            temp = [titleStr substringWithRange:NSMakeRange(i, text.length)];//text.length为子字符串的长度

            if([temp isEqualToString:text])

                [locationArray addObject:@(i)];//记录一下当前查找到子字符串的第一个字符的位置

        }

    }

    

    NSMutableAttributedString* attriuteStr = [[NSMutableAttributedString alloc]initWithString:titleStr];

    //以下为加红过程

    for(NSInteger i = 0; i < locationArray.count; i++)

    {

        [attriuteStr addAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} range:NSMakeRange([locationArray[i] integerValue], text.length)];

    }

    return attriuteStr;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值