Swift는 bulit-in Property .capitalized 가 있다
이 프로퍼티는 스트링 전체의 첫단어를 대문자로 바꿔준다
let myString = "hello. my name is woojun"
print(myString.capitalized)
// Hello. My Name Is Woojun
만약에 문장의 첫글자만 대문자로 만들고 싶다면 다른 방법을 생각해야 한다
.capitalizedSentence 라는 새로운 Computed property를 만들어 보자
extension String {
var capitalizedSentence: String {
// 1
let firstLetter = self.prefix(1).capitalized
// 2
let remainingLetters = self.dropFirst().lowercased()
// 3
return firstLetter + remainingLetters
}
}
우선 prefix(1)으로 문장의 첫번째 letter를 잡는다. 그리고 .capitalized 시켜준다
그리고 dropFirst()를 이용해서 첫번째 letter를 버리고 나머지를 모두 lowercased()로 바꿔준다
그리고 두개를 더해준다
주의사항
- 이 방법은 문장이 한개일때만 제대로 작동한다
- 이 방법은 첫번째 character가 whitespace 일때는 작동하지 않는다