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:@""];

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

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

时间: 2024-12-27 09:30:45

oc 之中的 汉字字符串转化成为拼音 汉字字符串的排序的相关文章

winform学习日志(二十八)----------将汉字转化为拼音,正则表达式和得到汉字的Unicode编码

一:上图,不清楚的看代码注解,很详细了 二:具体代码 窗体代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Text.RegularExpressio

.NET 拼音汉字转化(全面)

引言 这是一个.NET 用C#语言编写的  拼音转汉字类,考虑到有很多拼音转汉字,但是试用过发现大部分有很多生僻字都没有办法显示.在此分享一个支持绝大多数的较为全面的拼音汉字转化帮助类.不多说,代码附上. 拼音编码 1 private static int[] pyValue = new int[] 2 { 3 -20319,-20317,-20304,-20295,-20292,-20283,-20265,-20257,-20242,-20230,-20051,-20036, 4 -20032

R语言将汉字转化为拼音方法

本文利用了Rcpp包,将C++代码直接在R语言里编译调用,从而实现将汉字转化为拼音,使用方法,将C++代码保存为pinyin.cpp,然后在R语言用sourceCpp()函数编译之后就会出现函数getLetter了 效果: > library(Rcpp) > sourceCpp("pinyin.cpp") > getLetter("试试效果怎样") [1] "SHISHIXIAOGUOZENYANG" pinyin.cpp 代码

【原创】字符串工具类--获取汉字对应的拼音(全拼或首字母)

1.引入pinyin4j-2.5.0.jar包 2.代码实现: import java.util.regex.Matcher; import java.util.regex.Pattern; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.Hanyu

C# 将汉字转化成拼音

本文来自http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html 首先下载Visual Studio International Pack 1.0,官方下载地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2-99AEE642FC10&displaylang=zh-cn.下载完毕后解压,解压后可以发现7个M

利用python将表格中的汉字转化为拼音

缺少包时用pip install 进行安装,例如: pip install xlsxwriter 完成代码如下: #!/usr/bin/python #-*-coding:utf-8-*- #from openpyxl import load_workbook from xpinyin import Pinyin import pandas as pd import xlwt import xlrd import xlsxwriter #将gb18030_loadder_tab1.xls表中的t

java AES加密拿来即用,实行对汉字的转化

package com.tr.common.util.encrypt; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.Security; import javax.crypto.BadPaddingException; import javax.crypt

利用排序规则特点计算汉字笔划和取得拼音首字母

SQL SERVER的排序规则平时使用不是很多,也许不少初学者还比较陌生,但有一个错误大家应是经常碰到: SQL SERVER数据库,在跨库多表连接查询时,若两数据库默认字符集不同,系统就会返回这样的错误:     "无法解决 equal to 操作的排序规则冲突." 一.错误分析: 这个错误是因为排序规则不一致造成的,我们做个测试,比如:create table #t1(name varchar(20) collate Albanian_CI_AI_WS, value int) cr

dev 中 字符串转中文拼音缩写,对grid列表进行模糊匹配,grid获取焦点行,gridlookupedit控件用拼音模糊匹配下拉选项

番外篇:. //该方法是将字符串转化为中文拼音的首写字母大写, public static string RemoveSpecialCharacters(string str){try{if (string.IsNullOrWhiteSpace(str)) { return str; }var result = Regex.Replace(str, "[^0-9A-Za-z]", "");if (string.IsNullOrWhiteSpace(result))