欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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 = 橙子

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。