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
이해한 내용을 기록합니다