iOS 截取昵称在控制在一定范围内

这个是将昵称控制在20个字符内

//计算字符

-  (int)convertToInt:(NSString*)strtemp {

int strlength = 0;

char *p = (char *)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding];

for (int i=0 ; i<[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {

if (*p) {

p++;

strlength++;

}else {

p++;

}

}

return strlength;

}

昵称截取

-(NSString *)nameSubstring:(NSString *)name{

do {

int number = [self convertToInt:name];

int len =  (number - 20)/2;

if (len == 0) {

len = 1;

}

name = [name substringToIndex:name.length - len];

} while ([self convertToInt:name] > 20);

NSString *nameStr = [NSString stringWithFormat:@"%@...",name];

return nameStr;

}

详解见www.cnblogs.com/max5945/archive/2012/07/24/2606957.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容