Swift개발

[Swift]문자열을 다룰때 자주 사용하게 되는 메소드

녹차맛고양이 개발강좌 및 IT리뷰 2025. 5. 26. 16:29
반응형

1. trimmingCharacters

매개변수로 받은 문자 집합을 문자열의 앞뒤에서 제거한 새로운 문자열을 반환

한 가지 자세하게 봐야 하는 부분은 입력 파라미터는 CharacterSet을 넣어줘야 한다

문자열의 앞에 공백을 제거하는 등.. 활용이 가능

var string = "A가나다라B"
let trimString = string.trimmingCharacters(in: ["A", "B"])
print(string)
print(trimString)

// result
// A가나다라B
// 가나다라

 

 

2. replacingOccurrences

매개변수는 타겟 문자열과 치환할 문자열 2개를 받고

문자열에서 타겟 문자열을 치환할 문자열로 치환하여 문자열을 반환합니다.

String을 다룰때는 항상 생각되는 점은 String, CharacterSet, Char .. 등을 잘 봐야 한다고 생각됩니다.

조금 유사한 메소드로는 replacingCharacters가 있는데 이 메소드는 range를 지정하여 치환해줍니다.

let string = "가AB다라"
let replacingString = string.replacingOccurrences(of: "AB", with: "나")
print(replacingString) 

// result
// 가나다라

3. components

매개변수로 받은 문자열을 기준으로 문자열을 분리하여 문자열 배열을 반환합니다.

흔하게 사용하는 사례로는 공백을 기준으로 쪼개거나

특정 규칙을 가진 문자열을 쪼갤때 사용한다

let string = "A B C D E"

var result = string.components(seperatedBy: " ")
print(result) 

// result
// ["A", "B", "C", "D", "E"]

4. split

매개변수는 3개를 받고 쉽게 말해

기준이 될 문자열은 component와 동일하여

거의 같은 기능을 한다는 점은 쉽게 알수 있습니다.

다만 쪼개는 횟수와 뭔지 모를 매개변수까지도 있습니다.

let string = "A B C D E"

var result = string.split(separator: " ", maxSplit: 1)
print(result) 

// result
// ["A","B C D E"]

 

var string = "A B C D "
var result = string.split(separator: " ", omittingEmptySubsequenece: false)
print(result)
// result
// ["A","B","C","D",""]


var string1 = "A B C D "
var result1 = string1.split(separator: " ", omittingEmptySubsequenece: true)
print(result1)
// result
// ["A","B","C","D"]

 

5. hasPrefix, hasSuffix, contains

문자열에서 검색을 할때 주로 사용하는 메소드입니다.

접두사에

hasPrefix(_:) : 매개변수로 검색할 문자열을 받고, 문자열의 접두사에 있는지 여부에 따라 Bool 반환

hasSuffix(_:) : 매개변수로 검색할 문자열을 받고, 문자열의 접미사에 있는지 여부에 따라 Bool 반환

contains(_:) : 매개변수로 검색할 요소를 받고, 요소가 있는지에 따라 Bool 반환

let string = "Green Tea Cat"

print(plans.hasPrefix("Green"))
// true
print(plans.hasPrefix("green"))
// false

print(plans.hasSuffix("Cat"))
// false
print(plans.hasSuffix("cat"))
// false

 

contains는 왜 요소라고 하는지 의아할수 있다

그 이유는 배열에서 사용하면서 문자열에서도 사용할수 있다

문자열도 사실상 배열로서 생각 가능한 부분도 있기에 이상하지 않을수도 있습니다.

또한 접두사와 접미사가 아닌 전체에서 확인한다는 특징이 있다

let array = ["Green", "Tea", "Cat"]
let string = "Green Tea Cat"

print(array.contains("Tea"))
// true
print(string.contains("Cat"))
// true

 

반응형