可以先來簡單的拓展一下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]);