Swift 字符串学习笔记
本文介绍了 Swift 中字符串的基本操作和常用方法。
创建字符串
在 Swift 中,可以使用双引号或者三个双引号来创建字符串。
swiftCopy Code// 使用双引号创建
let str1 = "Hello, world!"
// 使用三个双引号创建
let str2 = """
Welcome
to
Swift!
"""
另外,还可以使用 String
类型的初始化方法来创建字符串。
swiftCopy Code// 使用字符数组初始化
let characters: [Character] = ["H", "e", "l", "l", "o"]
let str3 = String(characters)
// 使用重复字符串初始化
let str4 = String(repeating: "Swift", count: 3)
访问字符串中的字符
在 Swift 中,可以通过下标操作访问字符串中的单个字符。
swiftCopy Codelet str = "Swift"
let first = str[str.startIndex] // S
let end = str[str.index(before: str.endIndex)] // t
let index = str.index(str.startIndex, offsetBy: 2)
let third = str[index] // i
拼接字符串
可以使用加号运算符拼接字符串,也可以使用 append
和 insert
方法修改字符串。
swiftCopy Codevar str = "Hello, "
str += "world!" // Hello, world!
var str2 = "Hello, "
str2.append("Swift") // Hello, Swift
var str3 = "Hello, world!"
str3.insert(contentsOf: " awesome", at: str3.index(str3.startIndex, offsetBy: 7)) // Hello, awesome world!
字符串比较
在 Swift 中,可以使用 ==
和 !=
运算符来比较字符串是否相等。
swiftCopy Codelet str1 = "Hello"
let str2 = "hello"
if str1 == str2 {
print("equal")
} else {
print("not equal") // not equal
}
子字符串
可以使用 prefix
、suffix
和 dropFirst
、dropLast
方法获取子字符串。
swiftCopy Codelet str = "Swift is awesome"
let sub = str.prefix(5) // Swift
let str2 = "Swift is awesome"
let sub2 = str2.suffix(7) // awesome
let str3 = "Swift is awesome"
let sub3 = str3.dropFirst(6) // is awesome
let str4 = "Swift is awesome"
let sub4 = str4.dropLast(7) // Swift is
实例
接下来,我们来看一个实例,如何将一个字符串转换为整数并求和。
swiftCopy Codelet str = "1 2 3 4 5"
let numbers = str.split(separator: " ").map { Int($0)! }
let sum = numbers.reduce(0, +)
print(sum) // 15
以上实例中,首先使用 split
方法将字符串按照空格分割成数组,然后使用 map
方法将每个字符串转换为整数,最后使用 reduce
方法求和。