zoukankan      html  css  js  c++  java
  • 获取一行文本中 一个连续数字的起始位置和长度

    应用场景:一般应用于连续签到的提示,部分文本中需要特殊显示的数字样式

    - (NSRange)rangeOfFirstMatchString:(NSString *)str{
        NSError *error = NULL;
        NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[0-9]" options:NSRegularExpressionCaseInsensitive | NSRegularExpressionDotMatchesLineSeparators | NSRegularExpressionAnchorsMatchLines | NSRegularExpressionAllowCommentsAndWhitespace error:&error];
        NSRange firstMatchRange = [regex rangeOfFirstMatchInString:str options:0 range:NSMakeRange(0, [str length])];
        NSInteger matches = [regex numberOfMatchesInString:str options:0 range:NSMakeRange(0, [str length])];
        if (matches>1) {
            firstMatchRange.length = firstMatchRange.length + matches - 1;
        }
        return firstMatchRange;
    }

    接下来就可以利用返回的range值设置attributeString的富文本的属性,例如:

    - (void)setAttributeStringForBlackLbl:(NSString *)str{
        if ([NSString contentIsNullORNil:str] ==  NO) {
            NSMutableAttributedString * attributeString = [[NSMutableAttributedString alloc] initWithString:str];
            [attributeString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:16] range:NSMakeRange(0, str.length)];
            [attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor colorFromHexRGB:@"FF533D"] range:NSMakeRange(0, str.length)];
            //设置强调文字
            NSRange specialRange = [self rangeOfFirstMatchString:str];
            [attributeString addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:18.0] range:specialRange];
            [attributeString addAttribute:NSForegroundColorAttributeName value:[UIColor colorFromHexRGB:@"E24C39"] range:specialRange];
            self.blackLbl.attributedText = attributeString;
        }
    }
  • 相关阅读:
    缓冲区溢出漏洞攻击原理
    过waf实战之文件上传bypass总结
    渗透-svn源代码泄露漏洞综合利用
    渗透-简单制作过waf的中国菜刀
    双链表
    Go语言(container学习)
    C语言 malloc函数详解
    GitHub搜索技巧
    HyperLogLog 算法的原理讲解以及 Redis 是如何应用它的
    【机器学习】K-近邻算法(KNN)
  • 原文地址:https://www.cnblogs.com/tianlin106/p/9075459.html
Copyright © 2011-2022 走看看