-(NSNumber *)chineseOrEnglishOfLength: (NSString *)str
{
NSNumber* length=0;
NSRegularExpression * letterRegular=[NSRegularExpression regularExpressionWithPattern:@"[A-Za-z]" options:NSRegularExpressionCaseInsensitive error:nil];
//英文字母的个数
int letterCount=[letterRegular numberOfMatchesInString:str options:NSMatchingReportProgress range:NSMakeRange(0, str.length)];
NSRegularExpression *digitalRegular=[NSRegularExpression regularExpressionWithPattern:@"[0-9]" options:NSRegularExpressionCaseInsensitive error:nil];
//数字的个数
int digitalCount=[digitalRegular numberOfMatchesInString:str options:NSMatchingProgress range:NSMakeRange(0, str.length)];
//自己定制的返回长度
length=[NSNumber numberWithInt:(letterCount+digitalCount +1)/2+(str.length-letterCount-digitalCount)];
return length;
}
本文介绍了一个用于计算包含中文字符、英文字母及数字的字符串总长度的Objective-C方法。该方法将英文字符和数字视作半个中文字符的长度进行计算。
3万+

被折叠的 条评论
为什么被折叠?



