iOS開發-NSString小拓展-判斷是否純中文-獲取字符所佔字節

可以先來簡單的拓展一下NSString,如下:

h文件裏面聲明方法

#import <Foundation/Foundation.h>
@interface NSString (ZHCN)
- (BOOL)allZH_CN;
- (BOOL)includeZH_CN;
@end

然後是m文件

#import "NSString+ZHCN.h"
@implementation NSString (ZHCN)
//判斷是否是純漢字
- (BOOL)allZH_CN{
    NSString *match = @"(^[\u4e00-\u9fa5]+$)";
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF matches %@", match];
    return [predicate evaluateWithObject:self];
}
//判斷是否含有漢字
- (BOOL)includeZH_CN{
    for(int i=0; i< [self length];i++)
    {
        int a =[self characterAtIndex:i];
        if( a >0x4e00&& a <0x9fff){
            return YES;
        }
    }
    return NO;
}
@end

如果要在項目中使用來判斷,如下:

NSString * targetStr = @"我是abc";  
if ([targetStr allZH_CN]&& [targetStr includeZH_CN]) {  
        // 這是純中文  
}else if (![targetStr allZH_CN] && [targetStr includeZH_CN]){  
        // 文字中含有中文
}else if (![targetStr allZH_CN] && ![targetStr includeZH_CN]){  
        // 純字符文本,123!@#abc  
}  
// 字符的字節數  
long Slength = strlen([targetStr UTF8String]); 



發佈了79 篇原創文章 · 獲贊 79 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章