特定のケースでは、文字列が純粋な中国語の文字であるか、それとも中国語の文字のみが含まれているかを判断する必要があります。
皆さんがわかりやすいようにカテゴリーに書きました
NSString+中国語.h
#import <Foundation/Foundation.h>
@interface NSString (中国語)
/**
* 純粋な漢字かどうかを判断します
*/
-( BOOL ) は中国語です。
/**
* 漢字が含まれているかどうかを判断します
*/
-( BOOL )中国語を含む;
@終わり
#import "NSString+中国語.h"
@implementation NSString (中国語)
/**
* 純粋な漢字かどうかを判断します
*/
-( BOOL )は中国語です{
NSString *match = @"(^[\u4e00-\u9fa5]+$)";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF は %@ に一致します", match];
return [述語evaluateWithObject: self ];
}
/**
* 漢字が含まれているかどうかを判断します
*/
-( BOOL )中国語を含む{
for ( int i=0; i< [自己の長さ];i++){
int a =[ selfcharacterAtIndex :i];
if ( a >0x4e00&& a <0x9fff){
はいを返します。
}
}
いいえを返します。
}
@終わり