学到这里 , 个人觉得swift对字符串操作的方面还需要做一些优化和改进 , 我本人对这种转换还是不太习惯 , 但是字符串操作又有了些链式编程的味道在里面了 , 相信用过masonry的伙伴都能感受到masonry链式编程的强大和易读 .希望swift可以越改越好吧.
//OC中NSString是一个对象 ,继承与NSObject
//Swift中String是一个结构体 ,性能更高
//1.遍历字符串
let str = "hello , world"
for c in str.characters {
print(c)
}
//2.字符串基本操作
//>1.两个字符串拼接
let str1 = "我爱"
let str2 = "编程"
let newStr = str1 + str2 //这里写法和JS差不多了
print(newStr)
//>2.字符串和其他标识符进行拼接
let name = "my"
let age = 18
let height = 1.80
//直接用 字符串 + \(变量名) 拼接 , 相较以前用的 NSString stringWithFormat 是不是更加简便而且易读呢 .
print("my name is \(name),my age is \(age),my height is \(height)")
//>3.如果要使用占位符 (这里演示显示两位数,不满两位使用0进行占位)
let min = 2
let second = 8
//这里需要注意 , OC中数组中只能存储对象类型 , 但是swift中基本数据类型也可以 , 后面会有详细介绍
let time = String(format:"%02d:%02d",arguments:[min , second])
print(time)
//>4.字符串截取
let urlStr = "www.baidu.com"
//截取www
//注意: 这里如果使用swift的截取,会比较麻烦 ,swift提供了 OC和C语言的字符串无缝转换 , 这里直接转成OC字符串进行操作
//转换成OC字符串
let OCStr = urlStr as NSString
//根据range进行截取
let header = OCStr.substringWithRange(NSMakeRange(0, 3))
print(header)
//根据索引进行截取
let header1 = OCStr.substringToIndex(3) //这里就有点链式编程的味道在里面了
print(header1)
//备注 : 因为此处我们还没学到数组 , 所以关于字符串的分割等操作 ,拿到后面进行讲解 , 原理都是差不多的