label标记关键字

可以标记多组关键字 以数组方式存入

直接上代码  喜欢点赞 拿走不谢!



#import "lab_Search.h"


@implementation lab_Search


/*

// Only override drawRect: if you perform custom drawing.

// An empty implementation adversely affects performance during animation.

- (void)drawRect:(CGRect)rect {

    // Drawing code

}

*/

- (NSArray *)IsChinese:(NSString *)str

{

    NSArray *chineses;

    NSMutableArray *mChineses = [NSMutableArray array];

    

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

    {

        int a = [str characterAtIndex:i];

        

        if (a > 0x4e00 && a < 0x9fff)

        {

            [mChineses addObject:[str substringWithRange:(NSRange){i, 1}]];

        }

    }

    

    chineses = mChineses;

    return chineses;

}

#pragma  mark -- 设置关键字


#pragma  mark -- 设置关键字

-(void)attributeStringWithContent:(NSString *)content keyWords:(NSArray *)keyWords colors:(NSArray *)colors repeat:(BOOL)repeat

{

    

    NSMutableAttributedString *attString = [[NSMutableAttributedString alloc] initWithString:content];

    if (keyWords) {

        

        [keyWords enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

            NSMutableString *tmpString=[NSMutableString stringWithString:content];

            NSRange range=[content rangeOfString:obj];

            NSInteger location=0;

            while (range.length>0) {

                UIColor *color=nil;

                if (!colors[0]) {

                    color=[UIColor colorWithHexString:@"#00c2c9"];

                }else{

                    color=colors[0];

                }

                [attString addAttribute:(NSString*)NSForegroundColorAttributeName value:color range:NSMakeRange(location+range.location, range.length)];

                location+=(range.location+range.length);

                NSString *tmp= [tmpString substringWithRange:NSMakeRange(range.location+range.length, content.length-location)];

                tmpString=[NSMutableString stringWithString:tmp];

                range=[tmp rangeOfString:obj];

                if (!repeat) {

                    break;

                }

            }

            

        }];

    }

    self.attributedText = attString;

    

}

@end


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python 中没有 label 这个关键字,但是可以使用 break 和 continue 语句结合循环来实现类似的功能。例如,使用 break 语句可以在循环中跳出循环,而使用 continue 语句可以跳过当前循环中的某个迭代。 ### 回答2: 在Python中,label是指给一个代码块或者程序中的某一行代码起一个标签,用于方便控制代码的跳转和执行顺序。 label在Python中通常用于两种情况: 1. 跳转语句控制:Python的跳转语句(如break、continue和return)可以搭配label使用。通过给某一行代码设置一个label,在跳转语句中指定该label,可以使程序跳转到指定的代码行并继续执行。这样可以方便地控制代码的执行流程,实现特定的逻辑。 2. 异常处理:在处理异常时,可以使用label标记可能发生异常的代码块,然后在异常处理语句中使用该label进行异常捕捉。这种方式可以更精准地捕捉和处理异常,提高程序的稳定性和容错性。 使用label时需要注意以下几点: - label必须以英文字母开头。 - label不能与Python的关键字重复。 - label是大小写敏感的。 - label必须和冒号(:)一起使用。 然而,尽管在Python中可以使用label,但它们并不是常用的编程技巧。在编写Python代码时,通常有更好的方式来控制代码流程和异常处理,如使用循环、条件语句和异常处理机制。因此,除非在特定的场景中有特殊需求,否则一般不建议过多使用label来控制代码的执行。 ### 回答3: Python中的label是在程序中用来做标记的一个对象。label可以理解为一个指向某个地方的标签或者名字,它在代码中用于标记或命名某个语句块或特定的位置。 在Python中,我们可以通过使用label来控制程序的流程。我们可以使用label来定义一个循环或者一个条件语句块,并且在适当的时候跳转到这个标签所在的代码位置继续执行。 例如,在循环中,我们可以使用label来控制循环的中断和跳过。通过使用label,我们可以在循环中的某个位置放置一个标签,并且在循环的其他地方使用break语句和continue语句来跳转到这个标签所在的位置。这样就可以实现在某个条件满足时中断循环或者跳过循环的特定部分。 此外,label还可以在异常处理中使用。在某些情况下,我们可能需要捕获特定类型的异常并且在捕获到异常后执行一系列的操作,然后跳转到指定的位置继续执行程序。使用label,我们可以在异常处理代码块中定义一个标签,并且在执行完异常处理代码后,使用raise语句加上标签名称来跳转到指定的位置继续执行。 总之,Python中的label是一个用于标记特定位置或者语句块的对象,它可以用于控制程序的流程,包括跳转到某个位置继续执行、中断循环或跳过循环的特定部分,以及从异常处理中跳转到指定位置继续执行程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值