iOS - Swift 문자열 공백 제거 (Trim, 왼쪽 Trim, 오른쪽 Trim, Replace)
개발/iOS - Swift1 2025. 10. 30. 07:56Swift 문자열 다듬기 (Trim) 완벽 정리
문자열을 다루다 보면, 앞뒤에 불필요한 공백이나 줄바꿈이 포함된 경우가 많습니다.
이럴 때 꼭 필요한 게 바로 문자열 트리밍(Trimming) 입니다.
Swift에서는 String 타입이 강력하게 설계되어 있어서, 공백은 물론 원하는 문자까지 쉽게 제거할 수 있습니다.
기본적인 trim 사용법
가장 기본적인 방법은 trimmingCharacters(in:) 메서드를 이용하는 것입니다.
let text = " Hello Swift "
let trimmed = text.trimmingCharacters(in: .whitespaces)
print(trimmed) // "Hello Swift"
여기서 .whitespaces는 공백만 제거하고, 줄바꿈 문자는 그대로 둡니다.
만약 줄바꿈까지 함께 제거하고 싶다면 .whitespacesAndNewlines를 사용하면 됩니다.
let text = "\n Hello Swift \n"
let trimmed = text.trimmingCharacters(in: .whitespacesAndNewlines)
print(trimmed) // "Hello Swift"
왼쪽(Left) Trim 하기
Swift에는 기본적으로 왼쪽만 제거하는 함수는 없습니다.
하지만 drop(while:)을 이용하면 쉽게 구현할 수 있습니다.
let text = " Swift"
let leftTrimmed = String(text.drop(while: { $0.isWhitespace }))
print(leftTrimmed) // "Swift"
여기서 drop(while:)은 조건에 맞는 문자를 앞에서부터 제거해 줍니다.
공백 문자(isWhitespace)가 아닐 때부터 문자열이 시작됩니다.
오른쪽(Right) Trim 하기
오른쪽만 제거하려면 조금 다르게 접근해야 합니다.
문자열을 뒤집은 후(reversed()), drop(while:)을 적용하고 다시 되돌리면 됩니다.
let text = "Swift "
let rightTrimmed = String(text.reversed().drop(while: { $0.isWhitespace }).reversed())
print(rightTrimmed) // "Swift"
약간 돌아가는 방식이지만, Swift에서는 이런 식으로 간단히 구현할 수 있습니다.
특정 문자만 제거하기
공백이 아닌 특정 문자를 제거하고 싶다면, CharacterSet을 직접 지정할 수 있습니다.
예를 들어, 문자열 양 끝의 *나 - 등을 제거하고 싶을 때는 이렇게 쓸 수 있습니다.
let text = "***Swift***"
let trimmed = text.trimmingCharacters(in: CharacterSet(charactersIn: "*"))
print(trimmed) // "Swift"
또는 여러 문자를 한 번에 제거할 수도 있습니다.
let text = "--**Swift**--"
let trimmed = text.trimmingCharacters(in: CharacterSet(charactersIn: "-*"))
print(trimmed) // "Swift"
문자열 중간의 공백 제거 (replace 방식)
트리밍은 보통 앞뒤만 다듬지만, 중간의 공백을 제거해야 할 때도 있습니다.
그럴 땐 replacingOccurrences(of:with:)를 사용하면 됩니다.
let text = "Hello Swift World"
let noSpaces = text.replacingOccurrences(of: " ", with: "")
print(noSpaces) // "HelloSwiftWorld"
정규식을 이용하면 여러 개의 공백을 한 칸으로 줄이는 것도 가능합니다.
let text = "Hello Swift World"
let singleSpaced = text.replacingOccurrences(of: "\\s+", with: " ", options: .regularExpression)
print(singleSpaced) // "Hello Swift World"
마무리
Swift의 문자열 다듬기 기능은 간결하면서도 유연하게 동작합니다.
상황에 따라 전체 공백 제거, 한쪽만 제거, 특정 문자만 제거 등 다양한 방식으로 활용할 수 있으니 프로젝트에서 문자열 처리 시 꼭 알아두면 좋습니다.




