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 Code
let 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

拼接字符串

可以使用加号运算符拼接字符串,也可以使用 appendinsert 方法修改字符串。

swiftCopy Code
var 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 Code
let str1 = "Hello" let str2 = "hello" if str1 == str2 { print("equal") } else { print("not equal") // not equal }

子字符串

可以使用 prefixsuffixdropFirstdropLast 方法获取子字符串。

swiftCopy Code
let 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 Code
let 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 方法求和。