Menu
CoddyTech

遍历字符串 P2

本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 72 课,共 86 课。

就像我们对数组使用 enumerated() 来获取索引和元素一样,也可以对字符串这样做。在遍历时,如果你需要知道每个字符的位置,这会很有用。

let word = "Swift"

for (index, char) in word.enumerated() {
    print("\(index): \(char)")
}
// 0: S
// 1: w
// 2: i
// 3: f
// 4: t

在根据字符位置构建新字符串时,这种技巧很有用。例如,你可能只想保留索引为偶数的字符:

let text = "abcdef"
var result = ""

for (index, char) in text.enumerated() {
    if index % 2 == 0 {
        result += String(char)
    }
}

print(result)  // ace

注意,我们在追加之前使用 String(char) 将 char 转换为 String。这是必要的,因为 result 是一个 String,你不能使用 += 运算符直接将 Character 追加到其中。

challenge icon

挑战

简单
编写一个函数 extractOddIndexChars,它接收 text,并返回一个只包含奇数索引处字符的新字符串。

使用 enumerated() 遍历字符串,并构建一个结果,其中只包含索引为奇数(1、3、5 等)的字符。

参数:

  • text(String):要处理的输入字符串

返回值:一个只包含奇数索引处字符的字符串(String)

示例:如果 text 是 "abcdefg",函数应返回 "bdf"(索引为 1、3 和 5 处的字符)。

亲手试试

func extractOddIndexChars(text: String) -> String {
    // 在这里编写代码
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: Swift 在线编辑器