600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > iOS根据字节数截取字符串

iOS根据字节数截取字符串

时间:2019-07-01 05:55:08

相关推荐

iOS根据字节数截取字符串

最近项目有个需求,文章的作者最多显示7个中文字,英文字符算半个中文字,超过7个中文字,则显示:前7个中文字+...,使用NSString的length方法,不管是一个中文还是英文字符,都是返回1。因此写了下面的方法,传入需要截取的原字符串和最多显示的字数(两个英文字符算一个中文字符):

-(NSString*)subTextString:(NSString*)str len:(NSInteger)len{if(str.length<=len)return str;int count=0;NSMutableString *sb = [NSMutableString string];for (int i=0; i<str.length; i++) {NSRange range = NSMakeRange(i, 1) ;NSString *aStr = [str substringWithRange:range];count += [aStr lengthOfBytesUsingEncoding:NSUTF8StringEncoding]>1?2:1;[sb appendString:aStr];if(count >= len*2) {return (i==str.length-1)?[sb copy]:[NSString stringWithFormat:@"%@...",[sb copy]];}}return str;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。