swift 汉字转拼音

前端之家收集整理的这篇文章主要介绍了swift 汉字转拼音前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

swift中提供了这样一个方法

  1. public func CFStringTransform(string: CFMutableString!,_ range: UnsafeMutablePointer<CFRange>,152)">_ transform: CFString!,152)">_ reverse: Bool) -> Bool

注释的大意是转换制定的字符串,并修改传进来的参数,只有指定范围内被修改,范围制定为空则整个字符串都被修改。如果转型成功返回true,失败返回false。

我们扩展一个String类的方法

  1. extension String {
  2.  
  3. transformToPinYin() -> String {
  4.  
  5. let mutableString = NSMutableString(string: self)
  6. //把汉字转为拼音
  7. CFStringTransform(mutableString,nil,kcfStringTransformToLatin,false)
  8. //去掉拼音的音标
  9. kcfStringTransformStripDiacritics,false)
  10. let string = String(mutableString)
  11. //去掉空格
  12. return string.stringByReplacingOccurrencesOfString(" ",withString: "")
  13. }
  14. }

实际中根据需求决定是否保留音标和空格。

  1. print("中国".transformToPinYin())

输出结果:

  1. zhongguo
  2. zhong guo (保留空格)
  3. zhōng guó (保留空格和音标)

猜你在找的Swift相关文章