[Swift] String(문자열) 메서드 정리

Kim Hayeon·2024년 7월 25일
0

iOS

목록 보기
5/5
post-thumbnail

문자열 정의 및 초기화

  1. 빈 문자열 초기화:

    var emptyString = ""
    var anotherEmptyString = String()
  2. 리터럴로 초기화:

    var greeting = "Hello, World!"

문자열 접근 및 수정

  1. 문자 접근 (Character):

    • 문자열의 특정 인덱스에 있는 문자에 접근.
    let greeting = "Hello, World!"
    let firstCharacter = greeting[greeting.startIndex] // "H"
    let lastCharacter = greeting[greeting.index(before: greeting.endIndex)] // "!"
  2. 문자열 수정:

    • 문자열에 문자 추가.
    var welcome = "Hello"
    welcome.append("!")
    print(welcome) // "Hello!"
    • 특정 위치에 문자열 삽입.
    var welcome = "Hello"
    welcome.insert(",", at: welcome.index(welcome.startIndex, offsetBy: 5))
    print(welcome) // "Hello,"
    • 문자 제거.
    var welcome = "Hello, World!"
    welcome.remove(at: welcome.index(before: welcome.endIndex))
    print(welcome) // "Hello, World"
    • 특정 범위의 문자열 대체.
    var welcome = "Hello, World!"
    let range = welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex
    welcome.replaceSubrange(range, with: "Swift!")
    print(welcome) // "Hello, Swift!"

문자열 변환과 처리

  1. 대소문자 변환:

    let original = "Hello, World!"
    let lowercased = original.lowercased()
    let uppercased = original.uppercased()
    
    print(lowercased) // "hello, world!"
    print(uppercased) // "HELLO, WORLD!"
  2. 공백 제거:

    let text = "   Hello, World!   "
    let trimmed = text.trimmingCharacters(in: .whitespaces)
    
    print(trimmed) // "Hello, World!"
  3. 부분 문자열:

    • 특정 범위를 사용해 부분 문자열 생성.
    let greeting = "Hello, World!"
    let startIndex = greeting.index(greeting.startIndex, offsetBy: 7)
    let endIndex = greeting.index(greeting.endIndex, offsetBy: -1)
    let substring = greeting[startIndex..<endIndex]
    
    print(substring) // "World"

문자열 탐색과 비교

  1. 문자열 포함 여부 확인:

    let greeting = "Hello, World!"
    let containsHello = greeting.contains("Hello")
    
    print(containsHello) // true
  2. 문자열 접두사 및 접미사:

    let greeting = "Hello, World!"
    let hasPrefix = greeting.hasPrefix("Hello")
    let hasSuffix = greeting.hasSuffix("World!")
    
    print(hasPrefix) // true
    print(hasSuffix) // true
  3. 문자열 비교:

    • 문자열이 같은지 비교.
    let firstString = "Hello, World!"
    let secondString = "hello, world!"
    let isEqual = firstString == secondString
    let isCaseInsensitiveEqual = firstString.lowercased() == secondString.lowercased()
    
    print(isEqual) // false
    print(isCaseInsensitiveEqual) // true

기타 유용한 문자열 메서드

  1. 문자열 길이:

    let greeting = "Hello, World!"
    let length = greeting.count
    
    print(length) // 13
  2. 문자 배열로 변환:

    let greeting = "Hello, World!"
    let charactersArray = Array(greeting)
    
    print(charactersArray) // ["H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d", "!"]
  3. 문자열을 정수형이나 실수형으로 변환:

    let numberString = "12345"
    let number = Int(numberString)
    
    let floatString = "123.45"
    let numberFloat = Float(floatString)
    
    print(number) // Optional(12345)
    print(numberFloat) // Optional(123.45)
  4. 문자열 분리:

    let paragraph = "Hello, World! Welcome to Swift."
    let sentences = paragraph.split(separator: " ")
    
    print(sentences) // ["Hello,", "World!", "Welcome", "to", "Swift."]
  5. 문자열 연결:

    let part1 = "Hello"
    let part2 = "World"
    let concatenated = part1 + ", " + part2 + "!"
    
    print(concatenated) // "Hello, World!"

예제 코드

// 문자열 초기화 및 사용
var greeting = "Hello, World!"
print(greeting) // "Hello, World!"

// 문자열 접근
let firstCharacter = greeting[greeting.startIndex]
let lastCharacter = greeting[greeting.index(before: greeting.endIndex)]
print(firstCharacter) // "H"
print(lastCharacter)  // "!"

// 문자열 수정
var welcome = "Hello"
welcome.append("!")
welcome.insert(",", at: welcome.index(welcome.startIndex, offsetBy: 5))
welcome.remove(at: welcome.index(before: welcome.endIndex))
welcome.replaceSubrange(welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex, with: "Swift!")
print(welcome) // "Hello, Swift!"

// 대소문자 변환
let lowercased = greeting.lowercased()
let uppercased = greeting.uppercased()
print(lowercased) // "hello, world!"
print(uppercased) // "HELLO, WORLD!"

// 공백 제거
let text = "   Hello, World!   "
let trimmed = text.trimmingCharacters(in: .whitespaces)
print(trimmed) // "Hello, World!"

// 부분 문자열
let startIndex = greeting.index(greeting.startIndex, offsetBy: 7)
let endIndex = greeting.index(greeting.endIndex, offsetBy: -1)
let substring = greeting[startIndex..<endIndex]
print(substring) // "World"

// 문자열 포함 여부 확인
let containsHello = greeting.contains("Hello")
print(containsHello) // true

// 문자열 접두사 및 접미사
let hasPrefix = greeting.hasPrefix("Hello")
let hasSuffix = greeting.hasSuffix("World!")
print(hasPrefix) // true
print(hasSuffix) // true

// 문자열 비교
let firstString = "Hello, World!"
let secondString = "hello, world!"
let isEqual = firstString == secondString
let isCaseInsensitiveEqual = firstString.lowercased() == secondString.lowercased()
print(isEqual) // false
print(isCaseInsensitiveEqual) // true

// 문자열 길이
let length = greeting.count
print(length) // 13

// 문자 배열로 변환
let charactersArray = Array(greeting)
print(charactersArray) // ["H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d", "!"]

// 문자열을 정수형이나 실수형으로 변환
let numberString = "12345"
let number = Int(numberString)
let floatString = "123.45"
let numberFloat = Float(floatString)
print(number) // Optional(12345)
print(numberFloat) // Optional(123.45)

// 문자열 분리
let paragraph = "Hello, World! Welcome to Swift."
let sentences = paragraph.split(separator: " ")
print(sentences) // ["Hello,", "World!", "Welcome", "to", "Swift."]

// 문자열 연결
let part1 = "Hello"
let part2 = "World"
let concatenated = part1 + ", " + part2 + "!"
print(concatenated) // "Hello, World!"
profile
우리는 무엇이든 될 수 있어

0개의 댓글