OC和Swift中字符串的区别
在OC中字符串类型时NSString,在Swift中字符串类型是String
OC中字符串@"",Swift中字符串""
Swift中String是第一个结构体,性能更高
String支持直接遍历
Swift提供了String和NSString之间的无缝转换
字符串的使用
用反斜线 \ 和小括号 () 做字符串插值(把常量\变量插入到字符串中)
let hand = 2
var age1 = 20
let string1 = "我今年\(age1)岁了,有\(hand)只手"
//也可以使用字符串拼接,但是必须转成字符串
var string2 = "我今年"+String(age1) + "岁了,有\(hand)只手"
遍历字符串
var string = "hi siri"
for s in string.characters { // string.characters 表示string中所有的字符
print(s) // 依次打印7个字符,空格也是
}
字符串和其他数据类型的拼接
let name = "siri"
let age = 10
let siriInfo = "my name is \(name), age is \(age)"
my name is siri, age is 10
字符串的格式化 时间:03:04
let min = 3
let second = 4
let time = String(format: "%02d:%02d", arguments: [min, second])
字符串的截取
Swift中提供了特殊的截取方式,但是非常麻烦,并且Index很难创建
简单的方式是将String转成NSString来使用. String -> NSString 在标识符后加:as NSString即可
let baidu = "www.baidu.com"
var subStr = (baidu as NSString).substringFromIndex(4) // “baidu.com"
subStr = (baidu as NSString).substringToIndex(3) // “www"
subStr = (baidu as NSString).substringWithRange(NSRange(location: 4, length: 5)) // “baidu"
注意:在Swift中String有一个叫toInt的方法,能够将一个字符串转换为Int类型。需要注意的是不是所有的字符串都可以转换为整数。
let numStr = “123"
//let number = numStr.toInt() // 好像没有用了
参考:http://www.cnblogs.com/10-19-92/p/5627619.html