iOS - Swift 문자열(String) 관련 함수 완벽 정리

개발/iOS - Swift1 2025. 10. 30. 10:06

Swift에서 문자열은 단순히 문자들의 나열이 아니라, 유니코드 문자 기반의 구조체(String)로 되어 있습니다.

따라서 문자열 조작 시 다양한 기능을 안전하고 직관적으로 사용할 수 있죠.

오늘은 Swift에서 자주 사용하는 문자열 관련 함수들을 한눈에 정리해보겠습니다.

 


1. 문자열 길이 확인 (count)

문자열의 길이를 알고 싶을 때는 count 프로퍼티를 사용합니다.

let text = "Hello, Swift!"
print(text.count) // 13

공백과 특수문자도 모두 문자로 계산됩니다.

 


2. 문자열 비교 (==, hasPrefix, hasSuffix)

문자열이 같은지, 특정 문자로 시작하거나 끝나는지를 확인할 수 있습니다.

let message = "Swift Programming"

print(message == "Swift Programming") // true
print(message.hasPrefix("Swift"))     // true
print(message.hasSuffix("ing"))       // true

hasPrefix와 hasSuffix는 검색이나 파일 확장자 검사 시 자주 사용됩니다.

 


3. 문자열 포함 여부 (contains)

특정 문자열이 포함되어 있는지 확인할 때 사용합니다.

let sentence = "Learning Swift is fun!"
print(sentence.contains("Swift")) // true

대소문자를 구분하므로 필요에 따라 lowercased()를 함께 사용하는 것도 좋습니다.

 


4. 대소문자 변환 (uppercased, lowercased)

문자열을 모두 대문자 혹은 소문자로 바꿀 수 있습니다.

let word = "Swift"
print(word.uppercased()) // SWIFT
print(word.lowercased()) // swift

검색 기능 구현 시 유용하게 쓰이는 함수입니다.

 


5. 문자열 결합 (+, append, join)

여러 문자열을 하나로 합칠 때는 다양한 방법이 있습니다.

let first = "Hello"
let second = "World"

// 1) + 연산자
print(first + " " + second)

// 2) append()
var greeting = "Hello"
greeting.append(" Swift")
print(greeting)

// 3) join()
let words = ["Swift", "is", "great"]
print(words.joined(separator: " ")) // "Swift is great"

 


6. 부분 문자열 추출 (prefix, suffix, dropFirst, dropLast, substring)

문자열의 일부분만 가져오고 싶을 때 유용합니다.

let text = "SwiftLanguage"

print(text.prefix(5))     // Swift
print(text.suffix(8))     // Language
print(text.dropFirst(5))  // Language
print(text.dropLast(8))   // Swift

Swift 5 이후에는 substring 대신 위처럼 prefix나 suffix를 사용하는 것이 일반적입니다.

 


 7. 문자열 인덱스 기반 접근 (index, startIndex, endIndex)

Swift의 문자열은 단순한 배열이 아니기 때문에, 인덱스를 직접 다룰 때는 주의가 필요합니다.

let greeting = "Hello"

let index = greeting.index(greeting.startIndex, offsetBy: 1)
print(greeting[index]) // e

유니코드 문자 단위로 인덱싱하므로, 문자열을 조작할 때 안전합니다.

 


8. 문자열 치환 (replacingOccurrences)

특정 단어나 문자를 다른 값으로 바꾸고 싶을 때 사용합니다.

let message = "Swift is hard"
let newMessage = message.replacingOccurrences(of: "hard", with: "fun")
print(newMessage) // Swift is fun

 


9. 공백 제거 (trimmingCharacters)

양쪽 끝의 공백이나 개행 문자를 제거할 때 사용합니다.

let text = "   Swift   "
let trimmed = text.trimmingCharacters(in: .whitespaces)
print(trimmed) // "Swift"

원하는 문자 집합을 직접 지정할 수도 있습니다.

let customTrim = text.trimmingCharacters(in: CharacterSet(charactersIn: " St"))
print(customTrim)
반응형

10. 문자열 분리 (split)

특정 구분자를 기준으로 문자열을 나누어 배열로 반환합니다.

let fruits = "apple,banana,grape"
let list = fruits.split(separator: ",")
print(list) // ["apple", "banana", "grape"]

map(String.init)을 사용하면 [String] 타입으로 변환할 수도 있습니다.

 


11. 문자열 삽입 및 삭제 (insert, remove)

문자열 중간에 값을 삽입하거나 제거할 수 있습니다.

var word = "Swft"
word.insert("i", at: word.index(word.startIndex, offsetBy: 2))
print(word) // Swift

word.remove(at: word.index(before: word.endIndex))
print(word) // Swif

 


12. 문자열 포맷팅 (String(format:))

숫자나 날짜 등을 문자열 형태로 표현할 때 사용합니다.

let price = 1234.5678
let formatted = String(format: "%.2f", price)
print(formatted) // 1234.57

 

 

 

반응형
admin