[Swift] 문자열 공백 및 특정 문자 제거하기

Kio·2022년 1월 3일
1

Swift

목록 보기
8/14

안녕하세요! Kio입니다 👻

문자열에 공백 및 특정 문자를 제거하는 방법을 아시나요?
제가 몰라서 정리해보는 포스팅입니다.
어몽어스에서 시민은 어떻게 제거하는지는 잘 아는데요 😱

그런 이유로 문자열 공백 및 특정 문자 제거를 위한
trimmingCharacters(in:) 에 대해 정리해보고자 합니다.

Let's get started 🥰




trimmingCharacters(in:)

Returns a new string made by removing from both ends of the receiver characters contained in a given character set.

매개변수로 받은 문자를 주어진 문자열의 양 끝에서 제거하여 새로운 문자열 을 반환합니다.


선언 (Declaration)

func trimmingCharacters(in set: CharacterSet) -> String

매개변수 (Parameters)

제거할 문자를 매개변수로 받으며, 매개변수는 nil 이 아니어야 합니다.


리턴 타입 (Return Value)

매개변수로 받은 문자를 주어진 문자열의 양 끝에서 제거하여 새로운 문자열을 반환합니다. 만약, 주어진 문자열이 매개변수로 받은 문자로 구성되어 있다면, 빈 문자열로 반환됩니다.


예시 (Discussion)

글로만 보았을 때는 도통 무슨 말인지 이해하기 어렵죠?
예시를 통해 제가 다 끝내드리겠습니다 🙆🏻‍♂️


ex) 문자열 공백 제거하기

// 방법 1
var string = " 공백이 있는 문자열 "
let trimString = string.trimmingCharacters(in: [" "])
print(string)
print(trimString)

// 방법 2
var string = " 공백이 있는 문자열 "
let trimString = string.trimmingCharacters(in: .whitespaces)
print(string)
print(trimString)

stringtrimString 의 차이가 보이시나요?
trimStringtrimmingCharacters(in:) 을 통해 앞 뒤 공백을 제거해주어서 보이는 것처럼 공백이 없어졌네요!

방법1방법2 는 동일한 방법입니다.
공백 제거를 위해" ".whitespaces 를 사용할 수 있다는 것도 알아두시면 좋을 것 같습니다.


ex) 문자열 특정 문자 제거하기

var string = "@특정문자가 있는 문자열%"
let trimString = string.trimmingCharacters(in: ["@", "%"])
print(string)
print(trimString)

문자열 공백 제거하기 의 예시와 같은 방법입니다.
trimmingCharacters(in:) 을 통해 특정 문자를 넣으면 기존 string 앞뒤에 있는 특정 문자 제거가 가능합니다.


🚨 주의할 점

trimmingCharacters(in:)
문자만 매개변수로 받을 수 있기 때문에 문자열은 오류를 발생한다는 점!


기존에 생각해봤던 방법

var string = " 공백이 있는 문자열 "
string = String(string.dropFirst(1))
string = String(string.dropLast(1))
print(string)

저는 trimmingCharacters(in:) 을 몰랐을 때는 위와 같은 방식으로 제거해보았습니다. 특정문자가 아닌 지정한 앞뒤 문자열을 drop 해버리죠.

앞뒤 형식이 같다면 상관없을지 모르지만 공백이 있는 문자열도 있고, 없는 문자열도 있는 다양한 데이터라면 난리나지 않을까 싶네요 😱




참고

trimmingCharacters(in:) - developer.apple




잘못된 정보가 있으면 언제든 코멘트 부탁드립니다 👻

profile
Someday_iOS_Dev

0개의 댓글