[Swift] 한글 종성받침 유무에 따라 '을/를' 반환하기
2018. 12. 13. 16:08ㆍiOS/Swift
한글 유니코드 값
초성: ((한글 유니코드 값 - 0xAC00 / 28) / 21)
중성: ((한글 유니코드 값 - 0xAC00 / 28) % 21)
종성: (한글 유니코드 값 - 0xAC00 % 28)
func postPositionText(_ name: String) -> String {
// 글자의 마지막 부분을 가져옴
guard let lastText = name.last else { return name }
// 유니코드 전환
let unicodeVal = UnicodeScalar(String(lastText))?.value
guard let value = unicodeVal else { return name }
// 한글아니면 반환
if (value < 0xAC00 || value > 0xD7A3) { return name }
// 종성인지 확인
let last = (value - 0xAC00) % 28
// 받침있으면 을 없으면 를 반환
let str = last > 0 ? "을" : "를"
return name + str
}
0 이상이면 받침이 있음, 아니면 받침이 없음!
'iOS > Swift' 카테고리의 다른 글
[Swift] mailto와 MFMailComposeViewController (0) | 2020.04.08 |
---|---|
[Swift] 센트리(Sentry)를 사용해보자! (0) | 2020.04.06 |
[Swift] textField / textView 끝의 공백 없애기 (0) | 2019.03.19 |
[Swift] 다국어(Localize) 처리하기 +a (0) | 2018.08.29 |
[Swift] 다국어(Localize) 처리하기 (0) | 2018.08.27 |