Lặp qua chuỗi P1
Thuộc phần Kiến thức nền tảng trong hành trình Swift của Coddy. Bài học 71 trên 86.
Giống như mảng, chuỗi trong Swift là các dãy ký tự mà bạn có thể duyệt qua. Nhờ vậy, bạn có thể dễ dàng xử lý văn bản từng ký tự một bằng vòng lặp for-in quen thuộc.
Khi duyệt qua một chuỗi, Swift lần lượt cung cấp cho bạn từng ký tự:
let word = "Hello"
for char in word {
print(char)
}
// H
// e
// l
// l
// oMỗi char trong vòng lặp có kiểu Character, không phải String. Sự khác biệt này rất quan trọng khi bạn cần so sánh hoặc thao tác với từng ký tự riêng lẻ.
Bạn có thể dùng kỹ thuật này để phân tích văn bản, chẳng hạn như đếm một ký tự (character) cụ thể:
let message = "banana"
var countA = 0
for char in message {
if char == "a" {
countA += 1
}
}
print(countA) // 3Lưu ý rằng khi so sánh một ký tự, ta đặt một ký tự trong dấu ngoặc kép như "a". Swift tự động xem đó là một Character khi so sánh với một ký tự khác.
Thử thách
DễViết một hàm countVowels nhận text và trả về tổng số nguyên âm trong chuỗi.
Duyệt qua từng ký tự trong chuỗi và đếm số nguyên âm (a, e, i, o, u). Đếm cả nguyên âm viết thường lẫn viết hoa.
Tham số:
text(String): Chuỗi cần phân tích
Giá trị trả về: Tổng số nguyên âm có trong chuỗi (Int)
Ví dụ: Nếu text là "Hello World", hàm sẽ trả về 3 (các nguyên âm là e, o, o).
Tự làm thử
func countVowels(text: String) -> Int {
// Viết code ở đây
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Các toán tử, phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpÔn tập: phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Hàm in raNội suy chuỗiĐầu vào từ dòngChuyển đổi kiểu dữ liệuÔn tập đến 120Ôn tập đúng hay sai3Giá trị tùy chọn
Giá trị tùy chọn là gìMở gói bằng if letGuard letToán tử gộp nilÔn tập: mở gói an toàn6Ra quyết định
Câu lệnh ifIf và elseÔn tập: máy tính đơn giảnCâu lệnh switchSwitch với khoảng giá trị9Vòng lặp
Vòng lặp for-inVòng lặp whileVòng lặp repeat-whileBreakContinueÔn tập: giai thừaDải giá trị trong vòng lặpVòng lặp lồng nhauÔn tập: đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: Danh sách sản phẩmÔn tập: Mảng đảo ngượcTuple15Trình theo dõi chi tiêu hằng ngày
Tổng quan về dự ánThoát chương trìnhTự luyện tập: Playground Swift