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

12 篇文章 0 订阅
12 篇文章 0 订阅

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

//
//  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)
*/

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

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜜友

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值