swift 汉字转拼音
2016-04-10 01:09
471 查看
swift中提供了这样一个方法:
public func CFStringTransform(string: CFMutableString!, _ range: UnsafeMutablePointer<CFRange>, _ transform: CFString!, _ reverse: Bool) -> Bool注释的大意是转换制定的字符串,并修改传进来的参数,只有指定范围内被修改,范围制定为空则整个字符串都被修改。如果转型成功返回true,失败返回false。我们扩展一个String类的方法:
extension String { func transformToPinYin() -> String { let mutableString = NSMutableString(string: self) //把汉字转为拼音 CFStringTransform(mutableString, nil, kCFStringTransformToLatin, false) //去掉拼音的音标 CFStringTransform(mutableString, nil, kCFStringTransformStripDiacritics, false) let string = String(mutableString) //去掉空格 return string.stringByReplacingOccurrencesOfString(" ", withString: "") } }实际中根据需求决定是否保留音标和空格。
print("中国".transformToPinYin())输出结果:
zhongguo zhong guo (保留空格) zhōng guó (保留空格和音标)
相关文章推荐
- Swift高阶函数map,filter,reduce实践
- swift:基于MPMoviePlayerController的视频播放器
- Swift StateMachine源码分析
- Swift 338. Counting Bits
- [swift实战入门]手把手教你编写2048(一)
- SwiftyUserDefaults对NSUserDefaults的封装扩展
- Swift之 ? 和 !
- Swift 的流程语句和代理方法
- Swift 自己主动引用计数机制ARC
- Swift快速入门-swift基础语法和函数-最直观学习swift
- 详解Swift和OC的混编
- Firebase 入門:用 Swift 創建一個簡單的社交 App
- 推送通知 Swift 菜鸟指南
- IOS8,9 TouchID开发(两行代码实现)Swiftor,OCer都能看懂(献给初学者)
- Swift写简易计算器
- 谷歌或在 Android 中支持苹果的 Swift 编程语言
- Swift与OC混合使用
- Swift开源库
- 用 Swift、Foursquare API 和 Realm 創建一個咖啡店 App
- swift