PC 또는 모바일 환경에서 문자열을 입력할 때 원치 않는 문자 또는 문자열이 포함되어 에러가 발생하는 경우가 존재합니다.
다행히 Swift에서는 원치 않는 문자 또는 문자열이 들어와도 이를 제거해주는 문자열 메서드 및 방법이 존재합니다.
문자열.trimmingCharacters(in: 제거할 옵션 및 문자)
해당 메서드는 문자열 앞/뒤에 있는 특정 문자만 제거할 수 있습니다. (문자열 중간에 껴있는 문자는 제거 불가능)
✅ 특정 문자를 지정한 방식
제거하고 싶은 특정 문자를 지정하여 제거할 수 있습니다.
var str = " 010 1234 5678 " // " 010 1234 5678 " str.trimmingCharacters(in: [" "]) // "010 1234 5678"
✅ CharacterSet 개념을 사용한 방식
CharacterSet 개념을 사용하여 특정 문자를 제거할 수 있습니다.
CharacterSet의 종류는 .whitespaces(공백) 외에도 다양합니다.var str = " 010 1234 5678 " // " 010 1234 5678 " str.trimmingCharacters(in: .whitespaces) // "010 1234 5678"
문자열 중간의 특정 문자를 제거하는 순서는 아래와 같습니다.
1. 특정 문자를 기준으로 문자열을 배열로 변환
2. 배열로 변환한 문자열을 다시 한번 문자열로 변환
특정 문자를 기준으로 문자열을 배열로 변환하는 메서드는 크게 2가지가 존재합니다.
✅ 특정 문자를 기준으로 문자열을 배열로 변환 components()
.components(separatedBy: 특정 문자)
var str = "h e l l o" var strArr = str.components(separatedBy: " ") // ["h", "e", "l", "l", "o"]
✅ 특정 문자를 기준으로 문자열을 배열로 변환 split()
split() 메서드의 반환 타입은 서브 스트링(Substring)입니다.
.split(separator: 특정 문자)
var str = "h e l l o" var strArr = str.split(separator: " ") // ["h", "e", "l", "l", "o"]
배열을 문자열로 만드는 방법은 아래와 같습니다.
✅ 배열을 문자열로 변환 joined()
.joined()
메서드를 사용하면 배열을 하나의 문자열로 변환할 수 있습니다.var str = "h e l l o" var strArr = str.components(separatedBy: " ") // ["h", "e", "l", "l", "o"] var newStr = strArr.joined() // "hello"
var str = "h e l l o" var strArr = str.split(separator: " ") // ["h", "e", "l", "l", "o"] var newStr = strArr.joined() // "hello"