Tìm kiếm trong chuỗi
Thuộc phần Logic và luồng thực thi trong hành trình Swift của Coddy. Bài học 3 trên 56.
Ba cách kiểm tra nhanh xem một chuỗi con có nằm trong một chuỗi khác hay không:
let email = "alice@coddy.tech"
print(email.contains("@")) // true
print(email.hasPrefix("alice")) // true
print(email.hasSuffix(".tech")) // truecontains nhận mọi chuỗi con, còn hasPrefix và hasSuffix chỉ kiểm tra phần đầu hoặc phần cuối. Cả ba đều phân biệt chữ hoa chữ thường, nên hãy chuyển chuỗi thành chữ thường trước nếu điều đó quan trọng.
Kết hợp chúng với ! để kiểm tra nhanh xem có thiếu hay không:
if !email.contains("@") {
print("not a valid email")
}Thử thách
DễĐọc một dòng đầu vào. Kiểm tra xem dòng đó có phải là email đơn giản hay không bằng cách xác nhận tất cả các điều kiện sau:
- Dòng đó chứa chính xác một ký tự
@(dùngfiltervàcounttrên các ký tự) - Dòng đó không bắt đầu hoặc kết thúc bằng
@ - Dòng đó kết thúc bằng
.tech,.comhoặc.org(không phân biệt chữ hoa chữ thường)
In ra valid khi tất cả điều kiện đều đúng, nếu không thì in ra invalid. So sánh với phiên bản đã chuyển thành chữ thường của đầu vào.
Với đầu vào alice@CODDY.TECH, đầu ra là valid.
Tự làm thử
let line = readLine()!
// TODO: kiểm tra có đúng một '@', không nằm ở đầu hoặc cuối, và hậu tố thuộc [.tech .com .org]
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 Logic và luồng thực thi
1Chuỗi chuyên sâu
Đếm và chỉ sốChữ hoa, chữ thường và xóa khoảng trắngTìm kiếm trong chuỗiTách và nối chuỗiThay thế chuỗi conÔn tập: Kiểm tra tên người dùng4Tập hợp
Tạo tập hợpPhép hợp và phép giaoPhép trừ và hiệu đối xứngTập con và tập hợp conÔn tập: Bộ lọc thẻ7Dự án: Theo dõi thói quen
Tổng quan dự ánĐánh dấu hoàn thành10Dự án: bộ máy trắc nghiệm
Tổng quan dự ánĐặt câu hỏiTự luyện tập: Playground Swift