欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

swift如何利用系統(tǒng)庫(kù)將漢字轉(zhuǎn)換為拼音詳解

 更新時(shí)間:2017年10月19日 10:07:40   作者:iOS_ziank  
將漢字轉(zhuǎn)換為拼音更利于我們大家開(kāi)發(fā)搜索功能,所以這篇文章主要給大家介紹了關(guān)于swift如何利用系統(tǒng)庫(kù)將漢字轉(zhuǎn)換為拼音的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

前言

相信大家在iOS做搜索時(shí)一般會(huì)遇到通過(guò)拼音搜索關(guān)鍵字的情況,這時(shí)候我們的判斷就需要把中文漢字轉(zhuǎn)換為拼音,有些時(shí)候還需要獲取漢語(yǔ)拼音的首字母大寫(xiě)縮寫(xiě),那么我們應(yīng)該這么做呢?

有些第三方庫(kù)可以完成漢字到拼音的轉(zhuǎn)換,但是系統(tǒng)庫(kù)也可以支持拼音轉(zhuǎn)換的所以這里就簡(jiǎn)單介紹一下使用系統(tǒng)庫(kù)進(jìn)行轉(zhuǎn)換的方法。

方法如下:

增加判斷的函數(shù),最好的辦法是對(duì)String類(lèi)添加一個(gè)extension,代碼如下:

extension String {}

然后第一步,是判斷字符串中有沒(méi)有中文字符:

extension String {
 func isIncludeChinese() -> Bool {
  for ch in self.unicodeScalars {
   // 中文字符范圍:0x4e00 ~ 0x9fff
   if (0x4e00 < ch.value && ch.value < 0x9fff) {
    return true
   }
  }
  return false
 }
}

第二步,是轉(zhuǎn)換為拼音:

func transformToPinyin() -> String {
 let stringRef = NSMutableString(string: self) as CFMutableString
 // 轉(zhuǎn)換為帶音標(biāo)的拼音
 CFStringTransform(stringRef,nil, kCFStringTransformToLatin, false);
 // 去掉音標(biāo)
 CFStringTransform(stringRef, nil, kCFStringTransformStripCombiningMarks, false);
 let pinyin = stringRef as String;

 return pinyin
}

這樣轉(zhuǎn)換出來(lái)的拼音字符串,每個(gè)漢字的拼音中間都會(huì)用空格隔開(kāi),增加去掉空格的函數(shù):

func transformToPinyinWithoutBlank() -> String {
 var pinyin = self.transformToPinyin()
 // 去掉空格
 pinyin = pinyin.stringByReplacingOccurrencesOfString(" ", withString: "")
 return pinyin
}

最后一個(gè)方法,是獲取大寫(xiě)的首字母的方法:

func getPinyinHead() -> String {
 // 字符串轉(zhuǎn)換為首字母大寫(xiě)
 let pinyin = self.transformToPinyin().capitalizedString
 var headPinyinStr = ""

 // 獲取所有大寫(xiě)字母
 for ch in pinyin.characters {
  if ch <= "Z" && ch >= "A" {
   headPinyinStr.append(ch)
  }
 }
 return headPinyinStr
}

希望這些方法能夠?qū)Υ蠹矣杏谩?/p>

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,本文還有許多不足,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • Swift中內(nèi)置的集合類(lèi)型學(xué)習(xí)筆記

    Swift中內(nèi)置的集合類(lèi)型學(xué)習(xí)筆記

    Swift中自帶數(shù)組、set、字典三大集合類(lèi)型,這里將學(xué)習(xí)過(guò)程中的基礎(chǔ)的Swift中內(nèi)置的集合類(lèi)型學(xué)習(xí)筆記進(jìn)行整理,需要的朋友可以參考下
    2016-06-06
  • 詳解Swift中的Characters字符類(lèi)型與String字符串類(lèi)型

    詳解Swift中的Characters字符類(lèi)型與String字符串類(lèi)型

    Swift中的字符串操作相當(dāng)便捷,下面我們來(lái)詳解Swift中的Characters字符類(lèi)型與String字符串類(lèi)型,需要的朋友可以參考下
    2016-06-06
  • Swift實(shí)現(xiàn)表格視圖單元格單選(1)

    Swift實(shí)現(xiàn)表格視圖單元格單選(1)

    這篇文章主要為大家詳細(xì)介紹了Swift實(shí)現(xiàn)表格視圖單元格單選,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Swift免費(fèi)短信驗(yàn)證碼實(shí)現(xiàn)及動(dòng)態(tài)倒計(jì)時(shí)功能

    Swift免費(fèi)短信驗(yàn)證碼實(shí)現(xiàn)及動(dòng)態(tài)倒計(jì)時(shí)功能

    這篇文章主要介紹了Swift免費(fèi)短信驗(yàn)證碼實(shí)現(xiàn)及動(dòng)態(tài)倒計(jì)時(shí)功能的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • swift實(shí)現(xiàn)隨機(jī)背景色

    swift實(shí)現(xiàn)隨機(jī)背景色

    這篇文章主要為大家詳細(xì)介紹了swift實(shí)現(xiàn)隨機(jī)背景色,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 深入探究Swift枚舉關(guān)聯(lián)值的內(nèi)存

    深入探究Swift枚舉關(guān)聯(lián)值的內(nèi)存

    這篇文章主要給大家介紹了關(guān)于Swift枚舉關(guān)聯(lián)值的內(nèi)存的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Swift具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Swift之UITabBarController 導(dǎo)航控制器的自定義

    Swift之UITabBarController 導(dǎo)航控制器的自定義

    本文給大家介紹swift導(dǎo)航控制器之UITabBarController,本文通過(guò)代碼實(shí)例給大家講解swift導(dǎo)航控制器,導(dǎo)航控制器類(lèi)繼承UITabBarController,代碼簡(jiǎn)單易懂,需要的朋友可以參考下
    2015-10-10
  • Swift中defer關(guān)鍵字推遲執(zhí)行示例詳解

    Swift中defer關(guān)鍵字推遲執(zhí)行示例詳解

    這篇文章主要給大家介紹了關(guān)于Swift中defer關(guān)鍵字推遲執(zhí)行的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • LeetCode?題解?Swift?有效的完全平方數(shù)

    LeetCode?題解?Swift?有效的完全平方數(shù)

    這篇文章主要為大家介紹了LeetCode?題解?Swift?有效的完全平方數(shù)方案示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • Swift使用enum抹平數(shù)組元素差異實(shí)例詳解

    Swift使用enum抹平數(shù)組元素差異實(shí)例詳解

    這篇文章主要為大家介紹了Swift使用enum抹平數(shù)組元素差異實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評(píng)論