• oc 之中的 汉字字符串转化成为拼音 汉字字符串的排序


    在oc 之中的字符串为汉字的时候,我们经常要进行字符串比較,可是汉字不能比較,所以就要将汉字转化成为拼音,详细步骤例如以下:

    //可变字符串 必须是可变字符串.
        NSMutableString *mutableString = [NSMutableString stringWithString:@"小明"];
        //转成带声调的拼音
        CFStringTransform((CFMutableStringRef)mutableString, NULL, kCFStringTransformToLatin, false);
        NSLog(@"%@", mutableString);

       结果为: xiǎo míng

        //转成没有声调的拼音
        CFStringTransform((CFMutableStringRef)mutableString, NULL, kCFStringTransformStripDiacritics, false);

    输出结果为:xiao ming
       NSLog(@"%@", mutableString);

    注意:这种方法必须先将不可变字符串转化为可变字符串才干将汉字转化成拼音.

    还有就是,此方法有缺陷:当遇到多音字的时候就不那么仅仅能了,仅仅能转化成为一种拼音

    除此之外:就是大家也看到了转化后的拼音之间会出现空格,所以你要替换空格:

    NSString *str = @"xiao ming ming";
        NSString *newstr = [str stringByReplacingOccurrencesOfString:@" " withString:@""];

    可是替换后返回的是一个新的字符串,原来的字符串并没有改变!,以后就要使用新返回的字符串来进行运算!!!

    虽有缺憾,可是还能够将就着使用!!!


  • 相关阅读:
    IE6-IE11兼容性问题列表及解决办法
    EJB--事务管理 .
    JDBC批处理---(java 对数据库的回滚) .
    redisb并发访问慢出现的问题
    redis其他问题
    多线程实现服务器端接收连接
    序列化作用
    redis的key过期时间
    nginx负载均衡和反向代理有什么区别
    nginx的负载均衡和反响代理配置
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6803997.html
Copyright © 2020-2023  润新知