OC和swift中字符串的区别:
1.在OC中字符串的类型是NSString,swift中字符串的类型是String。
2.OC中字符串用@""表示,swift中用""表示。
使用String表示的原因:
1.String是一个结构体,性能更高;
2.NSString是一个OC对象,性能略差;
3.String支持直接遍历;
4.swift提供了String和NSString的无缝转换。
字符串的定义:
1.定义不可变字符串:使用let修饰
//指定变量类型
let str : String = "hello swift"
//str = '' haha"//不可变字符串不能够再次赋值
//不用指定类型,swift中有类型推导可以自动推导出变量的类型
let str2 ="Hello Swift"
2.定义可变字符串:使用var修饰
var strM = "Hello World"
strM = "Hello China"
获取字符串的长度:
let length = str.characters.count
字符串的拼接:
1.字符串之间的拼接
let str1 ="小码哥"
let str2 ="IT教育"
// OC拼接方式NSString stringwithFormat:@"%@%@", str1, str2
let str3 = str1 + str2
2.字符串和其它标识符之间的拼接
let name = "why"
let age = 19
let height = 1.87
let infoStr = "my nams is\(name), age is\(age), height is\(height)"
3.字符串拼接过程中的格式化: 03:04
let min =3
let second =4
let timeStr = String(format:"%02d:%02d",min, second)
字符串的截取:
let urlString = "www.520it.com"
1.方式一:
//将String类型转成NSString类型,再进行截取: as NSString
let header1 = (urlString as NSString).substring(to:3)
let range1 = NSMakeRange(4,5)
let middle1 = (urlString as NSString).substring(with: range1)
let footer1 = (urlString as NSString).substring(from:10)
2.方式二:
//直接使用String类型方法,进行截取
let headerIndex = urlString.index(urlString.startIndex, offsetBy:3)
let header2 = urlString.substring(to: headerIndex)
let startIndex = urlString.index(urlString.startIndex, offsetBy:4)
let endIndex = urlString.index(urlString.startIndex, offsetBy:9)
range = Range(startIndex..<endIndex)
let middle2 = urlString.substring(with: range)
let footerIndex = urlString.index(urlString.endIndex, offsetBy:-3)
let footer2 = urlString.substring(from: footerIndex)