iOS判斷一個字符是不是中文字符,計算一段字符串的長度。

gww3 9年前發布 | 4K 次閱讀 Objective-C IOS

主要是將oc字符串轉成c的字符串(char*),然后判斷c的字符串的長度,因為中文字符占得長度是英文字符的兩倍。

//判斷一個字符書不是中文。

-(BOOL)isChinese:(NSString*)c{

int strlength = 0;

char* p = (char*)[ccStringUsingEncoding:NSUnicodeStringEncoding];

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

    if (*p) {

        p++;

        strlength++;

    }

    else {

        p++;

    }

}

return ((strlength/2)==1)?YES:NO;

}

檢驗:

NSString* str  = @"我";

NSLog(@"%d",[selfisChinese:str]);

NSString* str2 = @"w";

NSLog(@"%d",[selfisChinese:str2]);




//計算一段字符串的長度,兩個英文字符占一個長度。

  • (int)countTheStrLength:(NSString*)strtemp {

    int strlength = 0;

    char p = (char)[strtempcStringUsingEncoding:NSUnicodeStringEncoding];

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

      if (*p) {
    
          p++;
    
          strlength++;
    
      }
    
      else {
    
          p++;
    
      }
    
    

    }

    return (strlength+1)/2;

}</pre>

 本文由用戶 gww3 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!