Swift 4.0 字符串截取,拼接,字符串富文本显示

字符串截取,调用系统方法

 let testStr = "hello world"
    //这种方法和swift3.2 类似
 let index1 = testStr.index(testStr.endIndex, offsetBy: -5) 
 let test1 = String(testStr.suffix(from: index1))
 //test1 = "hello" 
        
 let index2 = testStr.index(testStr.startIndex, offsetBy: 5)
 let test2 = String(testStr.prefix(upTo: index2))//
 //test1 = "world" 
 //当然你也可以这样,是不是更简洁了
 let test3 = String(testStr.suffix(5))
 //test3 = "hello" 
 let test4 = String(testStr.prefix(5))
 //test3 = "world"       
 let subString = (testStr as NSString).substring(with: NSMakeRange(2,3))
 //subString = "llo"

字符串拼接

# 字符串拼接很简单
let test1 = "hello"
let test2 = "world"
let test = test1 + " " + test2
// test = "hello world"
let index = 2
let testInt = test + "\(index)" 
// testInt = "hello world2"

字符串富文本

let tmpString = "我有很多的很多钱?,哈哈哈!"
let range = NSRange(location: 4, length: (balance as NSString).length)
let attriString = NSMutableAttributedString(string: tmpString)
attriString.addAttribute(NSAttributedStringKey.foregroundColor, value: UIColor(hex:"#EA4B44"), range: range)
label.attributedText = attriString
# 同时设置多个属性
 let att = [ NSAttributedStringKey.foregroundColor: textColor,
 NSAttributedStringKey.font: UIFont.systemFont(ofSize: textFont), 
 NSAttributedStringKey.backgroundColor: textBgColor]
 attriString.addAttribute(att , range: range)

字符串截取,调用系统方法 swift 3.2 版本:

let sessionId = "this is a test"

let index = sessionId.index(sessionId.endIndex, offsetBy: -2)

let suffix = sessionId.substring(from: index)

最后结果为:“st”

获取开头字符两个:

let sessionId = "this is a test"

let index = sessionId.index(sessionId.startIndex, offsetBy: 2)

let prefix = sessionId.substring(to: index)

获取中间字符两个:

a,笨方法

let sessionId = "this is a test"

let index = sessionId.index(sessionId.startIndex, offsetBy: 5)

let prefix = sessionId.substring(to: index)

let index = sessionId.index(prefix.startIndex, offsetBy: -2)

b,直接用range截取

let subString1 = (swiftString as NSString).substring(with: NSMakeRange(1,3))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值