[Swift5] Foundation applyingTransform으로 가명을 평가명으로 바꾸면 장음 기호(카페)가 마음대로 바뀐다.

6802 단어 Swiftswift5tech
제목과 같다.장음 부호와 가명이 섞인 경우 일부러 앞의 음을 고려해 평가명으로 바꾼다.쓸데없는 일에 참견하다.
import Foundation
let text = "あー"
let katakanaText = text.applyingTransform(.hiraganaToKatakana, reverse: false)!   // カタカナに変換
print(katakanaText)   // "アー"
let hirganaText = katakanaText.applyingTransform(.hiraganaToKatakana, reverse: true)!    // ひらがなに変換
print(hirganaText)    // "ああ"
어떻게 하는 것이 좋을지 스스로 함수를 정의하는 것이 좋다.클릭 후 여러 개가 설치에 성공하지만 스위프트5를 지원하지 않는 경우가 많아 이번에는 직접 제작했다.
extension StringProtocol {
    @inlinable func toKatakana() -> String {
        let result = self.unicodeScalars.map { scalar -> UnicodeScalar in
            if 0x3041 <= scalar.value && scalar.value <= 0x3096 {
                return UnicodeScalar(scalar.value+96)!
            } else {
                return scalar
            }
        }
        return String(String.UnicodeScalarView(result))
    }

    @inlinable func toHiragana() -> String {
        let result = self.unicodeScalars.map { scalar -> UnicodeScalar in
            if 0x30A1 <= scalar.value && scalar.value <= 0x30F6 {
                return UnicodeScalar(scalar.value-96)!
            } else {
                return scalar
            }
        }
        return String(String.UnicodeScalarView(result))
    }
}
필요 없는 곳에서 저를 걱정하지 마세요.

좋은 웹페이지 즐겨찾기