ios 设置字符串中某段字符的颜色

1.提取URL

NSMutableAttributedString*strMutable=[[NSMutableAttributedString alloc]initWithString:str];
    [strMutable addAttribute:NSFontAttributeName value:label.font range:NSMakeRange(0, str.length)];
    [strMutable addAttribute:NSForegroundColorAttributeName value:label.textColor range:NSMakeRange(0, str.length)];
  
 

    NSDataDetector*detect=[[NSDataDetector alloc]    initWithTypes:NSTextCheckingTypeLink error:nil];
    
    NSArray*matches=[detect matchesInString:str options:0 range:NSMakeRange(0, str.length)];
    
    for(NSTextCheckingResult*result in matches)
    {
        if (result.resultType==NSTextCheckingTypeLink) {
            [strMutable addAttribute:NSLinkAttributeName value:@"http://www.baidu.com" range:result.range ];
        }
    }
    if ([matches count]>0) {
        label.attributedText=strMutable;
    }
  

2.提取字符串

  NSRange startRange = [str rangeOfString:@"<"];
        NSRange endRange = [str rangeOfString:@">"];
        
       
        
        NSRange range = NSMakeRange(startRange.location + startRange.length, endRange.location - startRange.location - startRange.length);
        
        NSString *result = [str substringWithRange:range];
   
        NSMutableAttributedString *str = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:result]];
       // NSRange contentRange = {1,[str length] - 1};
        NSRange contentRange = {1,[str length]-1};
        [str addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:contentRange];
        [str addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(1,[str length]-1)];
        label.attributedText = str;

你可能感兴趣的:(ios 设置字符串中某段字符的颜色)