在最近一项目中,遇到获取拼音首字母的问题,查找了一下网上的方法,没有找到合适好用的,于是自己研究了一下,写了以下方法,欢迎交流,希望对各位有帮助。
// // PYFirst.swift // 获取拼音首字母,支持取一句话中每字拼音首字母 // Created by 周蜜(mrzhou@miw.cn) on 2015/6/1(儿童节). // Copyright (c) 2015年 www.miw.cn. All rights reserved. // import Foundation func PYFirst(string:String?, _ allFirst:Bool=false)->String{ var py="#" if let s = string { if s == "" { return py } var str = CFStringCreateMutableCopy(nil, 0, s) CFStringTransform(str, nil, kCFStringTransformToLatin, Boolean(0)) CFStringTransform(str, nil, kCFStringTransformStripCombiningMarks, Boolean(0)) py = "" if allFirst { for x in (str as String).componentsSeparatedByString(" ") { py += PYFirst(x) } } else { py = (str as NSString).substringToIndex(1).uppercaseString } } return py } /* //调用示例,返回# var s :String? PYFirst(s) s = "中华人民共和国@hi wor\r\nld." //调用示例,返回ZHRMGHGW PYFirst(s,true) //调用示例,返回Z PYFirst(s) */
奔五的人学iOS:用swift实现获取拼音首字母,支持取一句话中每字拼音首字母
原文地址:http://blog.csdn.net/miw__/article/details/46324333