Menu
CoddyTech

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"))    // true

contains 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")
}
challenge icon

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ùng filter và count trê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, .com hoặ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]
quiz iconTự kiểm tra

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

Tự luyện tập: Playground Swift