- 1.字符串在任何的开发中使用都是非常频繁的
OC(NSString
)和Swift(String
)中字符串的区别
在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串""
- 使用
String
的原因
String 是一个结构体,性能更高 NSString 是一个 OC 对象,性能略差 String 支持直接遍历 Swift 提供了 String 和 NSString 之间的无缝转换
- 2.字符串的使用
- 1.遍历字符串(每一个字符串都遍历打印)
var str = "Hello,playground" for c in str.characters { print(c) }
- 2.字符串拼接
let str1 = "Hello" let str2 = "playground" let str3 = str1 + str2 print(str3)
- 3.字符串和其他数据类型的拼接
\()
来拼接其他的值
let name = "wangchog" let age = 25 let myInfos = "my name is \(name) and my age is \(age)" print(myInfos)
- 4.字符串的格式化
let min = 2 let scond = 30 let time = String(format: "%02d:%02d", arguments:[min,scond]) print(time)
- 3.字符串的截取
- Swift中提供了特殊的截取方式
该方式非常麻烦
Index创建较为麻烦 - 简单的方式是将String转成NSString来使用
在标识符后加:as NSString即可
let myStr = "www.baidu.com" /* * 从第四位以后开始截取 */ var subStr = (myStr as NSString).substring(from: 4) /* * 从头截取到第三位 */ var subStr1 = (myStr as NSString).substring(to: 3) /* * 根据范围截取 location 从第几个开始 长度为 5 */ var subStr2 = (myStr as NSString).substring(with: NSRange(location: 4, length: 5))
- 4.字符串的替换
let a = NSString(string:"Hello,Tom") print("替换前:\(a)") let b = a.replacingOccurrences(of: "Tom", with: "Dave") //替换 print("替换后:\(b)")
- 5.字符串的一些方法(pathExtension取链接后缀,lowercased()将大写转化为小写)
let str: NSString = "http://wx4.sinaimg.cn/bmiddle/005TTqq4gy1fhjq2lkkkvg30bo0gonpd.Gif" print(str.pathExtension.lowercased())