- 在 Swift 中,字符串是用 String
- String 是一个结构体,其比 OC 中的
NSString
更轻量级,更快 - String 可以支持直接遍历
- String 可以与 NSString 无缝转换
1.字符串的遍历
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
demo1()
}
// 直接遍历
func demo1(){
let str1 = "别低头,绿帽会掉"
// 直接遍历每一个字符
for c in str1.characters {
print(c)
}
}
}
这种方式简单粗暴,是不是很有快感!
2.字符串的长度
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
demo2()
}
// 字符长度
func demo2(){
let str = "别哭泣,老王会笑"
// 字符个数
// 常用
print(str.characters.count)
// 输出 字符串 uft8 编码 字节数
print(str.utf8.count)
// 输出指定编码字符串的字节数 print(str.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
}
}
3.字符串的拼接
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
demo3()
}
// 字符串的拼接
func demo3(){
let name = "老王"
let age = 18
// 方式 1
let result1 = "我叫" + name + "年龄" + String(age)
print(result1)
// 方式 2
let result2 = "我叫\(name)年龄\(age)"
print(result2)
let h = 8
let m = 15
let s = 2
// 08:15:02
let result3 = String(format: "%02d:%02d:%02d", h, m, s)
print(result3)
let result4 = String(format: "%02d:%02d:%02d", arguments: [h, m, s])
print(result4)
}
}
4.字符串的截取
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
demo4()
}
// 字符串的截取
func demo4(){
let str = "听说下雨天音乐和辣条更配哟"
// 从指定位置截取到结束
var result = str.substringFromIndex("老王".endIndex)
print(result)
// 从 0 截取到指定位置
result = str.substringToIndex(str.endIndex.advancedBy(-2))
print(result)
// 截取指定范围
let startIndex = "老王".endIndex
let endIndex = str.endIndex.advancedBy(-2)
result = str.substringWithRange(startIndex..<endIndex)
print(result)
// 使用 oc 中的方法
// 建议在开发中,截取字符串的时候,使用 NSString 身上的方法
result = (str as NSString).substringWithRange(NSMakeRange(2, str.characters.count - 4))
print(result)
}
}
好,大概常用的就这些,以后遇到了再更新!