iOS实现截取字符串中汉字功能
程序员文章站
2023-11-30 08:08:46
本文实例为大家分享了ios截取字符串中汉字的具体代码,供大家参考,具体内容如下
写了一个简单的例子,从第一个汉字开始截取字符串。下面贴上代码:
#import...
本文实例为大家分享了ios截取字符串中汉字的具体代码,供大家参考,具体内容如下
写了一个简单的例子,从第一个汉字开始截取字符串。下面贴上代码:
#import "viewcontroller.h" @interface viewcontroller () @end @implementation viewcontroller - (void)viewdidload { [super viewdidload]; nsarray *array = @[@"03-15_01苹果", @"412香蕉", @"#7&@15橙子"]; for (int i = 0; i < array.count; i++) { nsstring *chinesestr = [self getchinesestringwithstring:array[i]]; nslog(@"chinesestr = %@\n", chinesestr); } } - (nsstring *)getchinesestringwithstring:(nsstring *)string { //(unicode中文编码范围是0x4e00~0x9fa5) for (int i = 0; i < string.length; i++) { int utfcode = 0; void *buffer = &utfcode; nsrange range = nsmakerange(i, 1); bool b = [string getbytes:buffer maxlength:2 usedlength:null encoding:nsutf16littleendianstringencoding options:nsstringencodingconversionexternalrepresentation range:range remainingrange:null]; if (b && (utfcode >= 0x4e00 && utfcode <= 0x9fa5)) { return [string substringfromindex:i]; } } return nil; } @end
运行结果:
2016-03-22 22:10:23.639 hwencodetest[502:8824] chinesestr = 苹果
2016-03-22 22:10:23.639 hwencodetest[502:8824] chinesestr = 香蕉
2016-03-22 22:10:23.640 hwencodetest[502:8824] chinesestr = 橙子
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。