可以先来简单的拓展一下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]);