[swift] 문자열에서 특정 단어의 첫 글자 대문자로 변경하기

안녕하세요! 오늘은 Swift로 문자열에서 특정 단어의 첫 글자를 대문자로 변경하는 방법에 대해 알아보겠습니다.

예를 들어, “swift는 재미있다”라는 문자열이 주어졌을 때 “swift”를 “Swift”로 변경하고 싶다고 가정해봅시다.

방법 1: 직접 코드 작성하기

extension String {
    func capitalizeFirstLetter() -> String {
        return prefix(1).capitalized + dropFirst()
    }
}

var str = "swift는 재미있다"
let newStr = str.replacingOccurrences(of: "\\b(swift)\\b", with: str.capitalizedFirstLetter(), options: [.regularExpression])
print(newStr)

이 코드는 String의 extension을 사용하여 capitalizeFirstLetter 메서드를 추가하고, 이를 통해 특정 단어의 첫 글자를 대문자로 변경합니다.

방법 2: Objective-C Compatibility

Obj-C 호환 코드를 사용하여 Objective-C의 sentence capitalization 메서드를 활용할 수도 있습니다.

import Foundation

extension String {
    func capitalizeFirstLetter() -> String {
        return (self as NSString).replacingCharacters(in: NSRange(location: 0, length: 1), with: self.capitalized.prefix(1))
    }
}

이 방법은 Foundation 프레임워크의 NSString 클래스를 사용하여 Objective-C 특징을 활용합니다.

결론

여기서는 Swift의 extension을 사용하여 특정 단어의 첫 글자를 대문자로 변경하는 방법을 살펴보았습니다. 이러한 방법을 적절히 활용하여 문자열 처리를 보다 효율적으로 할 수 있을 것입니다.