swift 汉字转拼音

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

swift中提供了这样一个方法

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

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

我们扩展一个String类的方法

extension String {

    transformToPinYin() -> String {

        let mutableString = NSMutableString(string: self)
        //把汉字转为拼音
        CFStringTransform(mutableString,nil,kcfStringTransformToLatin,false)
        //去掉拼音的音标
        kcfStringTransformStripDiacritics,false)

        let string = String(mutableString)
        //去掉空格
        return string.stringByReplacingOccurrencesOfString(" ",withString: "")
    }
}

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

print("中国".transformToPinYin())

输出结果:

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

猜你在找的Swift相关文章