遍历字符串 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 追加到其中。
挑战
简单编写一个函数 extractOddIndexChars,它接收 text,并返回一个只包含奇数索引处字符的新字符串。
使用 enumerated() 遍历字符串,并构建一个结果,其中只包含索引为奇数(1、3、5 等)的字符。
参数:
text(String):要处理的输入字符串
返回值:一个只包含奇数索引处字符的字符串(String)
示例:如果 text 是 "abcdefg",函数应返回 "bdf"(索引为 1、3 和 5 处的字符)。
亲手试试
func extractOddIndexChars(text: String) -> String {
// 在这里编写代码
}
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Swift 在线编辑器