Menu
Coddy logo textTech

문자열 검색

Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 3번째.

문자열 내에 부분 문자열이 포함되어 있는지 확인하는 세 가지 빠른 방법:

let email = "alice@coddy.tech"
print(email.contains("@"))         // true
print(email.hasPrefix("alice"))    // true
print(email.hasSuffix(".tech"))    // true

contains는 어떤 부분 문자열이든 확인하는 반면, hasPrefixhasSuffix는 시작 부분이나 끝 부분만 확인합니다. 이들은 모두 대소문자를 구분하므로, 대소문자 구분이 중요하다면 먼저 문자열을 소문자로 변환하세요.

이것들을 !와 결합하여 빠른 "누락" 테스트를 수행하세요:

if !email.contains("@") {
    print("not a valid email")
}
challenge icon

챌린지

쉬움

한 줄의 입력을 읽습니다. 다음의 모든 항목을 확인하여 간단한 이메일 형식인지 유효성을 검사하세요:

  • 정확히 하나의 @를 포함해야 합니다 (문자에 대해 filter + count를 사용하세요)
  • @로 시작하거나 끝나지 않아야 합니다
  • .tech, .com, 또는 .org로 끝나야 합니다 (대소문자 구분 없음)

모든 검사를 통과하면 valid를 출력하고, 그렇지 않으면 invalid를 출력하세요. 입력값의 소문자 버전과 비교하여 처리하세요.

입력값이 alice@CODDY.TECH인 경우, 출력값은 valid입니다.

치트 시트

문자열에 부분 문자열이 포함되어 있는지, 또는 특정 문자열로 시작하거나 끝나는지 확인합니다:

let email = "alice@coddy.tech"
email.contains("@")        // true – 문자열 내 어디든
email.hasPrefix("alice")   // true – 시작 부분
email.hasSuffix(".tech")   // true – 끝 부분

세 가지 모두 대소문자를 구분합니다. 필요한 경우 먼저 .lowercased()를 사용하세요:

email.lowercased().hasSuffix(".tech")

부재 여부를 테스트하려면 !를 사용하세요:

if !email.contains("@") { print("not a valid email") }

직접 해보기

let line = readLine()!

// TODO: 정확히 하나의 '@'가 있는지, 양 끝에 위치하지 않는지, 접미사가 [.tech .com .org] 중 하나인지 확인하십시오.
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

로직 및 흐름의 모든 레슨