swif 在字符串中查找特定字符索引以及改变字符串的指定位置的颜色 字体大小

1 第一种方式

            var text = "谁包含这个字母";
            
            let range:Range<String.Index> = text.range(of: "含")!;
            
            let end_idx:Int = text.distance(from: text.startIndex, to: range.lowerBound);
            // 打印2
            print(end_idx);

类方法 抽取

    // 查找对应索引
    static func findIdx(str:String,targetStr:String) -> Int{
        
        
        let range:Range<String.Index> = str.range(of: targetStr)!;
        
        let end_idx:Int = str.distance(from: str.startIndex, to: range.lowerBound);
        
        return end_idx;
        
    }

2 改变字符串指定位置大小

    // 改变字符串的指定位置的颜色 字体大小
    static func changeStringColorFont(str:String,color:UIColor,fontSize:CGFloat,startIdx:Int,endIdx:Int) -> NSMutableAttributedString{
        
        let noteStr = NSMutableAttributedString.init(string: str);
        
 
        var secondIdx =  endIdx;
        
        secondIdx = endIdx > str.count ? str.count : endIdx;
        
        // 改变的区间
        let range = NSRange.init(location: startIdx, length: secondIdx - startIdx);
        
        // 改变颜色 和 字体大小
        noteStr.addAttributes([NSAttributedString.Key.foregroundColor : color], range: range)
        noteStr.addAttributes([NSAttributedString.Key.font : UIFont.systemFont(ofSize: fontSize)], range: range);
        
        return noteStr;
        
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值