字符串的介绍
字符串在任何的开发中使用都是非常频繁的
OC和Swift中字符串的区别
在OC中字符串类型时NSString,在Swift中字符串类型是String
OC中字符串@"",Swift中字符串""
使用 String 的原因
String 是一个结构体,性能更高
NSString 是一个 OC 对象,性能略差
String 支持直接遍历
Swift 提供了 String 和 NSString 之间的无缝转换
字符的定义
定义不可变字符串
let str = "hello Objective-C"
定义可变字符串
var str = "hello Swift"
字符串的使用
获取字符串的长度
获取字符集合,再获取集合的count属性
let count = str.characters.count
遍历字符串
// 字符串遍历
var str = "Hello, Swift"
for c in str.characters {
print(c)
}
字符串拼接
两个字符串的拼接
let str1 = "Hello"
let str2 = "World"
let str3 = str1 + str2
字符串和其他数据类型的拼接
let name = "why"
let age = 18
let info = "my name is (name), age is (age)"
字符串的格式化
比如时间:03:04
let min = 3
let second = 4
let time = String(format: "%02d:%02d", arguments: [min, second])
字符串的截取
Swift中提供了特殊的截取方式
该方式非常麻烦
Index创建较为麻烦
简单的方式是将String转成NSString来使用
在标识符后加:as NSString即可
let myStr = "www.hengzi.com"
var subStr = (myStr as NSString).substringFromIndex(11)
subStr = (myStr as NSString).substringToIndex(3)
subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 6))
//swift截取方式
// 1.定义字符串
let str = "www.hengzi.com"
// 2.截取开始位置
let headerIndex = str.startIndex.advancedBy(3)
let header = str.substringToIndex(headerIndex)
// 3.截取结束位置
let footerIndex = str.endIndex.advancedBy(-3)
let footer = str.substringFromIndex(footerIndex)
// 4.截取中间的字符串
let range = Range(start: str.startIndex.advancedBy(4), end: str.endIndex.advancedBy(-4))
let middle = str.substringWithRange(range)