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;
        }
    }
  • 相关阅读:
    20121010 闲的慌的日子
    九月,桂花飘香的季节
    win7下控件(ActiveX)注册错误(0x80040200) 修正
    C#多线程技术(一)
    C#多线程技术(二)
    C++沉思录摘录(OOP部分)
    SVM入门教程
    是IE的bug还是Windows的bug?
    inno setup安装时不需要开始菜单项
    django本地局域网访问
  • 原文地址:https://www.cnblogs.com/tianlin106/p/9075459.html
Copyright © 2011-2022 走看看