Swift에서 문자열 예쁘게 만들기

@Cho· April 01, 2025 · 3 min read

가끔 개발하다 보면, 검색 기능이나 어떤 문자열에 사용자가 검색을 할 때 개발자의 의도와는 다르게 문장을 입력할 때가 있다. 예를들어...

  • " 검색 "
  • "검 색 "

위와 같이 필요없는 앞 뒤 공백이나 줄바꿈이 들어간 문자열을 예쁘게 다듬어 주는 기능을 trim이라고 한다.

여담으로 trim은 어떤 것을 정리하거나 잘라내는 작업이나 과정을 뜻하는 단어이다.

Swift에서 trim사용하기

Swift에서는 trimmingCharacters(in:) 을 사용하여 문자열을 정리할 수 있다. in: 에는 CharacterSet이라는 타입을 넣는데, 주로 .whitespaces를 사용하는 것 같다.

CharacterSet 종류 설명
.whitespaces 문자열의 앞과 뒤에서 공백 문자(" ", "\t", "\n", "\r")를 제거합니다.
.whitespacesAndNewlines 문자열의 앞과 뒤에서 공백 문자와 새 줄 문자("\n", "\r")를 제거합니다.
.decimalDigits 문자열의 앞과 뒤에서 숫자(0-9)를 제거합니다.
.letters 문자열의 앞과 뒤에서 알파벳 문자(대소문자 포함)를 제거합니다.
.lowercaseLetters 문자열의 앞과 뒤에서 소문자 알파벳 문자(a-z)를 제거합니다.
.uppercaseLetters 문자열의 앞과 뒤에서 대문자 알파벳 문자(A-Z)를 제거합니다.
.nonBaseCharacters 문자열의 앞과 뒤에서 기저가 아닌 문자(주로 글자 위에 표시되는 문자들)을 제거합니다.
.punctuationCharacters 문자열의 앞과 뒤에서 구두점 문자("!", "#", "$", "%" 등)을 제거합니다.
.symbols 문자열의 앞과 뒤에서 기호 문자(@, &, *, + 등)을 제거합니다.
.alphanumerics 문자열의 앞과 뒤에서 알파벳 문자와 숫자만 남기고, 나머지 문자를 제거합니다.
.urlHostAllowed URL의 호스트 이름에 허용되는 문자(주로 도메인 이름에 사용되는 문자)를 제외한 문자를 제거합니다.
.urlPathAllowed URL 경로에서 허용되는 문자(경로의 일부로 사용될 수 있는 문자)를 제외한 문자를 제거합니다.
.urlQueryAllowed URL 쿼리에서 허용되는 문자(쿼리 파라미터에 사용할 수 있는 문자)를 제외한 문자를 제거합니다.
.urlFragmentAllowed URL 프래그먼트에서 허용되는 문자를 제외한 문자를 제거합니다.
.controlCharacters 문자열의 앞과 뒤에서 제어 문자(C0 제어 문자 등)를 제거합니다.
.newlines 문자열의 앞과 뒤에서 새 줄 문자(\n, \r)를 제거합니다.

아래와 같이 사용 가능하다.

let uglyString = " i'm String.  "
let prettyString = uglyString.trimmingCharacters(in: .whitespaces) // 앞뒤 공백 제거하기

print(prettyString) // i'm String.

참고

🔖 Cho
이해한 내용을 기록합니다