1示辈、有需要得到textfield
中的字符長(zhǎng)度闹啦、可視在輸入框中有漢字、英文色乾、字符等誊册、直接計(jì)算得到的不準(zhǔn)確、就用下面方法
` - (void)viewDidLoad {
[super viewDidLoad];
//第一種方法
NSLog(@"第一種方法長(zhǎng)度為:%i",[self convertToInt:@"1234567我是中國(guó)人"]);
//第二種方法
NSLog(@"第二種方法長(zhǎng)度為:%ld",[self getToInt:@"1234567我是中國(guó)人"]);
}
//方法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];
}
結(jié)果如下圖:
獲取中英混合字符串的長(zhǎng)度.png
2暖璧、在填寫(xiě)密碼時(shí)候案怯、有時(shí)候會(huì)有這種需求、去除textfiled
中字符串首尾的空格漆撞、中間有的不用管
NSString *passWord = @" 12345 6 ";
NSString *newPass = [passWord stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"passWord=%@ , 長(zhǎng)度為:%lu, newPass=%@, 長(zhǎng)度為:%lu", passWord, (unsigned long)passWord.length, newPass, (unsigned long)newPass.length);
輸出結(jié)果如下:
密碼去除首尾空格.png
3殴泰、 再說(shuō)吧