奔五的人学iOS:用swift实现获取拼音首字母,支持取一句话中每字拼音首字母

在最近一项目中,遇到获取拼音首字母的问题,查找了一下网上的方法,没有找到合适好用的,于是自己研究了一下,写了以下方法,欢迎交流,希望对各位有帮助。

//
//  PYFirst.swift
//  获取拼音首字母,支持取一句话中每字拼音首字母
//  Created by 周蜜([email protected]) 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)
*/

这也许是儿童节最好的礼物。

猜你喜欢

转载自blog.csdn.net/miw__/article/details/46324333
今日推荐