以前深藏在 Core Foundation的字符串變形這次被帶到了 NSString和 Swift String 中邢滑。這讓 Cocoa 這項強大功能變得十分易用熊响,因為不用再去理會橋接 CFStringRef所帶來的麻煩。在Swift中直接調用 stringByApplyingTransform(transform: String, reverse: Bool) 方法蚌讼,例如:
"??".stringByApplyingTransform(NSStringTransformToUnicodeName, reverse: false) ? ? ? ? ? ?// ?輸出 ?DOG FACE
"dog".stringByApplyingTransform(NSStringTransformLatinToHangul, reverse: false) ? ? ? ? ?//?
參數reverse是個Bool類型,當參數reverse為true時宿稀,可以反過來轉換。
"?".stringByApplyingTransform(NSStringTransformLatinToHangul, reverse: true) ? ? ? ? ?//dog
下面介紹一下新 NSStringTransform*常量:
音譯:
NSStringTransformLatinToKatakana? ? ? ? 拉丁文轉片假名(日語)
NSStringTransformLatinToHiragana? ? ? ? ? 拉丁文轉平假名(日語)
NSStringTransformLatinToHangul? ? ? ? ? ? 拉丁文轉韓語
NSStringTransformLatinToArabic? ? ? ? ? ? ? 拉丁文轉阿拉伯語
NSStringTransformLatinToHebrew? ? ? ? ? ? 拉丁文轉希伯來語
NSStringTransformLatinToThai? ? ? ? ? ? ? ? ? 拉丁文轉泰語
NSStringTransformLatinToCyrillic? ? ? ? ? ? ? 拉丁文轉西里爾語
NSStringTransformLatinToGreek? ? ? ? ? ? ? 拉丁文轉希臘語
NSStringTransformToLatin? ? ? ? ? ? ? ? ? ? ? ? 轉成拉丁文
NSStringTransformMandarinToLatin? ? ? ? ? 普通話轉拉丁文
NSStringTransformHiraganaToKatakana? 平假名(日語)轉片假名(日語)
全角半角
NSStringTransformFullwidthToHalfwidth? ? 全角轉半角
進制
NSStringTransformToXMLHex? ? ? ? ? ? ? ? ? ? 轉成XML十六進制字符
Unicode
NSStringTransformToUnicodeName? ? ? ? ? ? 為Unicode字符命名
去掉重音和變音符
NSStringTransformStripCombiningMarks? 去掉結合符號(重音和變音符)
NSStringTransformStripDiacritics? ? ? ? ? ? ? ? 去掉變音符