swift之字符串

1.字符串在任何开发中使用率都是极高的

  • OC中字符串是:NSString
  • swift中是String

字符串的遍历

var str = "Hello, my name is LYW"
for c in str{
    print(c)
}
注意swift3.0是这样的,但是由于版本swift版本的升级,很多语言都稍微有改变
// 字符串遍历
var str = "Hello, my name is LYW"
for c in str.characters {
    print(c)
}

结果如图所示


swift之字符串_第1张图片
image.png

字符串的拼接: 直接 +

var str = "Hello, my name is"

var Name = "LYW"

var nameStr = str + " " + Name
print(nameStr)

结果如下


swift之字符串_第2张图片
image.png

字符串和其他数据类型的拼接: \ ( )

var str = "Hello, my name is"

var Name = "LYW"

let age = 24

var nameStr = str + " " + Name + ",age is \(age)"

print(nameStr)

结果如下


swift之字符串_第3张图片
image.png

字符串的格式化

比如时间:13:04
不足两位补0
let min = 13
let second = 4

let time = String(format: "%02d:%02d", arguments: [min, second])

print(time)

结果如下


swift之字符串_第4张图片
image.png

字符串的截图

先转NSString ,再通过substring去截取
let myStr = "Hello, my name is LYW"
var subStr = (myStr as NSString).substring(from: 7)
print(subStr)
subStr = (myStr as NSString).substring(to: 5)
print(subStr)
subStr = (myStr as NSString).substring(with: NSRange(location: 10, length: 5))
print(subStr)

结果如下


swift之字符串_第5张图片
image.png

如果只知道字符串中包含某个字符,于是要截取字符串中的文字

  • 比如:假设后台返回的数据为:iPhone<来自地狱的烟火> 但是展示的只需要
    来自地狱的烟火
1.通过字符获取Range
2.通过Range获取下标
3.再通过下标和长度截取字符串
let str: String = "我最爱北京天安门!"
let rangeStart: Range = str.range(of: "最")!
let rangeEnd:Range = str.range(of: "天")!
let location: Int = str.distance(from: rangeStart.upperBound, to: rangeEnd.lowerBound)
let keyLength: Int = str.distance(from: rangeStart.upperBound, to: rangeEnd.upperBound)

print("location = \(location), length = \(keyLength)")

let frontStr: Substring = str[rangeStart.upperBound ..< rangeEnd.lowerBound]
print("frontSubStr = \(frontStr)")
swift之字符串_第6张图片
image.png

你可能感兴趣的:(swift之字符串)