一、字符串的介绍
- OC和Swift中字符串的区别:
1> 在OC中字符串类型时NSString,在Swift中字符串类型是String
2> OC中字符串@"",Swift中字符串""
- 使用
String
的原因:
1> String 是一个结构体、性能更高
2> NSString 是一个 OC 对象、性能略差
3> String 支持直接遍历
4> Swift 提供了 String 和 NSString 之间的无缝转换
二、字符的定义
- 定义不可变字符串
- 定义可变字符串
func setupString() {
let str1: String = "不可变字符串"
var str2: String = "可变字符串"
str2 = "变一下"
print("\(str1)---\(str2)")
}
三、字符串的使用
- 获取字符串的长度
[获取字符串集合,再获取集合的count集合]
func setupString() {
let str1: String = "不可变字符串"
var str2: String = "可变字符串"
str2 = "变一下"
print("\(str1)---\(str2)")
let count1 = str1.characters.count
let count2 = str2.unicodeScalars.count
// 用类型转换 as ,转为NSString
let ocStr = str2 as NSString
print("\(count1)---\(count2)---\(ocStr.length)")
}
-
字符串拼接
[直接相加]
还要注意可选项Optional!
print("str1+str2=\(str1+str2) \(可选项 ?? "")")
-
字符串拼接过程中的格式化
3分04秒=03:04
let min = 3
let second = 4
let time = String(format: "%02d:%02d", min, second)
- 字符串的截取
let urlStr = "www.baidu.com"
- 将String类型转成NSString类型,再进行截取:
as NSString
let header1 = (urlStr as NSString).substring(to: 3)
let range1 = NSMakeRange(4, 5)
let middle1 = (urlStr as NSString).substring(with: range1)
let footer1 = (urlStr as NSString).substring(from: 10)
- 直接使用String类型方法,进行截取
let headerIndex = urlStr.index(urlStr.startIndex, offsetBy: 3)
let header2 = urlStr.substring(to: headerIndex)
let startIndex = urlStr.index(urlStr.startIndex, offsetBy: 4)
let endIndex = urlStr.index(urlStr.startIndex, offsetBy: 9)
let range2 = Range(startIndex..<endIndex)
let middle2 = urlStr.substring(with: range2)
let footerIndex = urlStr.index(urlStr.endIndex, offsetBy: -3)
let footer2 = urlStr.substring(from: footerIndex)
- 字符串的遍历
//字符串的遍历
func demoSting() -> () {
let str = "今天天气真好"
for c in str.characters {
print(c)
}
}
网友评论