iOS开发——汉字转拼音
以前有一次做一个天气预报的项目,有一个功能是输入城市名,请求该城市的天气,需要把汉字转化成拼音,比如深圳——>shenzhen,加入到参数中。当时在网上找了一下,网友给出的方法很多都用不了,现在给出一种系统自带的方法。
- (void)viewDidLoad {
[super viewDidLoad];
NSString *str = @"乱七八糟";
[self transChinaseToPinYin:str];
}
-(NSString*)transChinaseToPinYin:(NSString*)hanzi{
NSMutableString *msg = [[NSMutableString alloc] initWithString:hanzi];
NSLog(@"msg1:%@",msg); //msg:乱七八糟
//将汉字转成带声调的拼音
CFStringTransform((__bridge CFMutableStringRef)msg, 0, kCFStringTransformMandarinLatin, NO);
NSLog(@"msg2:%@",msg); //msg:luàn qī bā zāo
//将带声调的拼音——>不带声调的拼音
CFStringTransform((__bridge CFMutableStringRef)msg, 0, kCFStringTransformStripDiacritics, NO);
NSLog(@"msg3:%@",msg); //luan qi ba zao
//将不带声调的拼音中的空格去掉
NSString *pinYin = [msg stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"pinYin:%@",pinYin); //luanqibazao
return pinYin;
}
iOS开发——汉字转拼音的更多相关文章
- iOS获取汉字的拼音
在iOS开发中经常涉及到汉字的排序,最常见的就是需要根据首字母的字符顺序排列,比如常见的通讯录等.总结出来,大致可以分为两种方法,其中参考文献[1]中提供的方法十分复杂,利用查表的方法是先,并且代码量 ...
- IOS平台汉字转拼音方案
iOS/Mac OS X 汉字转拼音 网络流行的汉字转拼音方案是带一个拼音码表,速度快.其实Core Foundation也提供了一种方案,而且还带声调! NSMutableString *ms = ...
- iOS将汉字转换为拼音
将汉字转换为拼音 - (NSString *)chineseToPinyin:(NSString *)chinese withSpace:(BOOL)withSpace { CFStringRef h ...
- iOS开发--汉字转成没有声调也没有空格的拼音
//汉字转成没有声调也没有空格的拼音- (NSString *)transformToPinYin:(NSString *)wordStr { NSMutableString *mutable ...
- iOS代码汉字转拼音
NSString *hanziText = @"今天天气不错"; if ([hanziText length]) { NSMutableString *ms = [[NSMutab ...
- iOS CFStringTransForm汉字转拼音
CFStringTransform - (NSString *) phonetic:(NSString*)sourceString { NSMutableString *source = [sourc ...
- ios开发中的小技巧
在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新. UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIViewal ...
- 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。
UITableView的Group样式下顶部空白处理 //分组列表头部空白处理 UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0 ...
- android开发之使用拼音搜索汉字
国庆回了趟家,昨天真不想走,离家近的感觉太好.唉,不扯这些,说说今天的正事吧. 上篇博客中介绍了自定义AutoCompleteTextView ,但是用到了一个很蹩脚的技术,就是我们事先把每个汉字的拼 ...
随机推荐
- TriggerPrefab 拖拽物体
模拟经营类游戏 有一个特点,就是 拖拽物体.常见的有<帝国><红警><部落战争><凯撒大帝>等等 2d 拖拽 大部分都是 用 OnDrag 方法来 拖动 ...
- AI 人工智能 探索 (一)
碰撞检测 //逗留碰撞 void OnTriggerStay (Collider other) { if (other.transform.name == name) { //检测距离 //根据距离 ...
- java 多线程机制
Example12_1.java public class Example12_1 { public static void main(String args[]) { //主线程 SpeakElep ...
- Ubuntu下使用rpm 软件包
Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb. sudo apt-get install alien sudo alien xxxx.rpm #将rp ...
- 看详细的tomcat报错信息
WEB-INF/classes目录下新建一个文件叫logging.properties handlers = org.apache.juli.FileHandler, java.util.loggin ...
- 浅谈ssh(struts,spring,hibernate三大框架)整合的意义及其精髓
hibernate工作原理 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提 ...
- HDU 1934 树状数组 也可以用线段树
http://acm.hdu.edu.cn/showproblem.php?pid=1394 或者是我自己挂的专题http://acm.hust.edu.cn/vjudge/contest/view. ...
- div定位
1.float定位带来的问题<html> <head> <title>div浮动引发的问题</title> </head> <styl ...
- 兼容性,float
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- SDAU课程练习--problemB(1001)
题目描述 There is a pile of n wooden sticks. The length and weight of each stick are known in advance. T ...