[Swift 문법] String의 프로퍼티 및 메서드

JJOOEE__·2024년 6월 11일
1

Swift 문법

목록 보기
4/13
post-thumbnail

하나하나 알아갈 때마다 추가될 예정!
우측 혹은 좌측 메뉴에서 원하는 매서드/프로퍼티를 확인 후 클릭하여 확인하시면 됩니다

String의 프로퍼티 및 메서드

  • String 은 자체 메서드와 프로퍼티를 가짐
let string = "이 VELOG는 JJOOE의 개발 공부 일지입니다"

🍀 문자열 길이 관련

🌈 Count

  • count 프로퍼티를 사용하여 문자열의 문자 개수를 셀 수 있습니다.
print(string.count)
//17

var toys = ""
if toys.count == 0 {
    print("아무것도 들어있지 않습니다.")
}
//아무것도 들어있지 않습니다.

🍀 접두사 및 접미사 확인

🌈 hasPrefix()

  • 문자열이 특정 문자로 시작하면 true를 반환하는 메서드가 있습니다. 첫 단어만 허용됩니다.
let str = "JJOOHEE, GOODBYE"

if str.hasPrefix("JJOOHEE"){
print("문자열이 "JJOOHEE"로 시작합니다!)
} else {
 print("문자열이 "JJOOHEE"로 시작하지 않습니다!)
 }

🌈 hasPrefix()

  • 문자열이 특정 문자로 끝나면 true를 반환하는 메서드가 있습니다. 첫 단어만 허용됩니다.
let str = "HELLO, JJOOHEE"

if str.hasPrefix("JJOOHEE"){
print("문자열이 "JJOOHEE"로 끝납니다!)
} else {
 print("문자열이 "JJOOHEE"로 끝나지 않습니다!)
 }

🍀 문자열의 일부를 추출하는 메서드

🌈 prefix

  • 문자열의 앞 부분을 추출합니다
let str = "Hello, Swift!"

// prefix() 메서드를 사용하여 앞부분을 추출
let prefix = str.prefix(5)   // "Hello"
print(prefix)

🌈 suffix()

  • suffix 문자열의 뒷 부분을 추출합니다.
let str = "Hello, Swift!"

// suffix() 메서드를 사용하여 뒷부분을 추출
let suffix = str.suffix(7)   // "Swift!"
print(suffix)

🍀문자열 인덱스 및 서브스트링 처리

🌈 index(_:offsetBy:)

  • 문자열의 인덱스를 이동하여 특정 위치의 문자에 접근
let str = "Hello, Swift!"
let index = str.index(str.startIndex, offsetBy: 7)
print(str[index]) // "S"

🌈 prefix(through:)

  • 지정된 인덱스를 포함하여 문자열의 앞부분을 추출
let str = "Hello, Swift!"
let substring = str.prefix(through: str.index(str.startIndex, offsetBy: 4))
print(substring) // "Hello"

🌈 suffix(from:)

  • 지정된 인덱스부터 문자열의 뒷부분을 추출
let str = "Hello, Swift!"
let substring = str.suffix(from: str.index(str.startIndex, offsetBy: 7))
print(substring) // "Swift!"

🍀 문자열을 정렬 하는 메서드

🌈 sorted()

  • sorted() 메서드를 호출하여 문자열의 텍스트를 배열로 정렬하도록 할 수도 있습니다.
let students: Set = ["다", "라", "사", "가", "나", "마", "바"]
let sortedStudents = students.sorted()
print(sortedStudents)
//["가", "나", "다", "라", "마", "바", "사"]

🍀 문자열 검색 및 수정

🌈 range(of: options: range: locale:)

  • 정된 옵션, 범위 및 로케일에 따라 문자열 내에서 특정 문자열의 범위를 검색
let str = "Hello, Swift!"
if let range = str.range(of: "Swift") {
    print("찾은 범위: \(range)")
} else {
    print("문자열을 찾을 수 없습니다.")
}

🌈 replacingOccurrences(of: with: options: range:)

  • 문자열 내에서 특정 문자열을 다른 문자열로 대체
let str = "Swift is fun!"
let newStr = str.replacingOccurrences(of: "fun", with: "awesome")
print(newStr) // "Swift is awesome!"

🌈 trimmingCharacters(in:)

  • 문자열 앞뒤에서 특정 문자 집합을 제거
let str = "  Hello, Swift!  "
let trimmedStr = str.trimmingCharacters(in: .whitespaces)
print(trimmedStr) // "Hello, Swift!"

🍀 문자열 비교

🌈 compare(_:)

  • compare(_ other: String, options: CompareOptions, range: Range<String.Index>?, locale: Locale?) -> ComparisonResult
  • 문자열을 다른 문자열과 비교하여 정렬 순서를 결정
let str1 = "apple"
let str2 = "banana"
if str1.compare(str2) == .orderedAscending {
    print("\(str1) comes before \(str2) in dictionary order.")
} else if str1.compare(str2) == .orderedDescending {
    print("\(str1) comes after \(str2) in dictionary order.")
} else {
    print("Both strings are identical.")
}

🍀 문자열 요소 확인

🌈 contains()

  • contains() 메서드를 호출하여 요소가 시퀀스에서 발견 된 경우 true, 그렇지 않으면 false 를 출력
let cast = ["주희", "현우", "해인", "수철"]
print(cast.contains("주희"))
// Prints "true"
print(cast.contains("수철"))
// Prints "false"

🌈 isEmpty

  • Array, Set, String 등 기타 컬렉션 유형이 비어 있는지 확인할때 사용 가능
var toys = ""
if toys.count == 0 {
    print("아무것도 들어있지 않습니다.")
}

count를 사용해서도 확인이 가능하다.

하지만, isEmpty 를 사용하면 읽기가 더 명확하고 실행이 더 빨라짐

var toys = ""
if toys.isEmpty {
    print("아무것도 들어있지 않습니다.")
}
//아무것도 들어있지 않습니다.

🍀 문자열 포맷팅

🌈 String(format:)

  • 문자열을 지정된 포맷에 맞추어 형식화
let name = "Alice"
let age = 30
let formattedString = String(format: "My name is %@ and I'm %d years old", name, age)

🌈 String(describing: ...)

  • 값을 문자열로 변환
let number = 42
let str = String(describing: number)
print(str) // "42"

🍀 배열 결합 및 분리

🌈 joined(separator:)

  • 배열의 문자열 요소들을 지정된 구분자로 결합하여 하나의 문자열로 만듭니다.
let fruits = ["apple", "banana", "orange"]
let str = fruits.joined(separator: ", ")  // "apple, banana, orange"

🌈 components(separatedBy:)

  • 지정된 구분자로 문자열을 분리하여 배열로 반환합니다.
let str = "apple,banana,orange"
let fruits = str.components(separatedBy: ",")  // ["apple", "banana", "orange"]

🍀 대/소문자로 변환

🌈 uppercased()

  • 메서드를 호출하여 문자열을 대문자로 바꿀 수 있습니다.
let string = "Hello, my name is jjoohee"
 
print(string.uppercased())
//HELLO, MY NAME IS JJOOHEE

🌈 lowercased()

  • 메서드를 호출하여 문자열을 소문자로 바꿀 수 있습니다.
let string = "Hello, my name is JJOOHEE"
 
print(string.uppercased())
//HELLO, MY NAME IS jjoohee

💡 TIP
Stirng에는 더 많은 프로퍼티와 메서드가 있습니다. Xcode에서 다양한 옵션들을 확인해보는 것이 좋습니다.

하나하나 알아갈 때마다 추가될 예정!
우측 혹은 좌측 메뉴에서 원하는 매서드/프로퍼티를 확인 후 클릭하여 확인하시면 됩니다

profile
개발이 어려운 나를 위한... 개발노트

0개의 댓글