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]); 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值