1、有需要得到textfield
中的字符长度、可视在输入框中有汉字、英文、字符等、直接计算得到的不准确、就用下面方法
` - (void)viewDidLoad {
[super viewDidLoad];
//第一种方法
NSLog(@"第一种方法长度为:%i",[self convertToInt:@"1234567我是中国人"]);
//第二种方法
NSLog(@"第二种方法长度为:%ld",[self getToInt:@"1234567我是中国人"]);
}
//方法1
> - (int)convertToInt:(NSString*)tempStr {
int strlength = 0;
char* p = (char*)[tempStr cStringUsingEncoding:NSUnicodeStringEncoding];
for (int i=0 ; i<[tempStr lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) {
if (*p) {
p++;
strlength++;
}
else {
p++;
}
}
return strlength;
}
//方法2
> - (NSInteger)getToInt:(NSString*)tempStr {
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSData* da = [tempStr dataUsingEncoding:enc];
return [da length];
}
结果如下图:
2、在填写密码时候、有时候会有这种需求、去除textfiled
中字符串首尾的空格、中间有的不用管
NSString *passWord = @" 12345 6 ";
NSString *newPass = [passWord stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"passWord=%@ , 长度为:%lu, newPass=%@, 长度为:%lu", passWord, (unsigned long)passWord.length, newPass, (unsigned long)newPass.length);
输出结果如下:
3、 再说吧