zoukankan      html  css  js  c++  java
  • iOS 中文字符判断 正则NSRegularExpression 谓词NSPredicate 和 NSRange

    废话不说,直接上代码

    #pragma mark - 中文字符判断
    
    
    // 正则匹配是否包含中文
    - (BOOL)validateContainsChinese:(NSString *)content
    {
        NSRegularExpression *regularexpression = [[NSRegularExpression alloc]
                                                  initWithPattern:@"^[u4e00-u9fa5]"
                                                  options:NSRegularExpressionCaseInsensitive
                                                  error:nil];
        return ([regularexpression numberOfMatchesInString:content
                                                   options:NSMatchingReportProgress
                                                   range:NSMakeRange(0, content.length)] > 0);
    }

    // 谓词匹配是否为全中文
    - (BOOL)validateAllChinese:(NSString *)content
    {
        NSString *regEx = @"^[u4e00-u9fa5]+$";
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regEx];
        
        return [predicate evaluateWithObject:content];
    }

    // 谓词匹配包含中文
    - (BOOL)validateContainsChineseT:(NSString *)content
    {
        NSString *regEx = @".+[u4e00-u9fa5].+";  // @"^[u4e00-u9fa5].*" - ^为匹配中文开始
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regEx];
        
        return [predicate evaluateWithObject:content];
    }

    // 匹配包含中文:利用rangeOfString:option:直接查找
    - (BOOL)validateRangeContainsChinese:(NSString *)content
    {
        NSString *regEx = @".*[u4e00-u9fa5].*";
        NSRange range = [content rangeOfString:regEx options:NSRegularExpressionSearch];
        
        return range.length;
        
    }

    // 匹配全是中文:利用rangeOfString:option:直接查找
    - (BOOL)validateRangeAllChinese:(NSString *)content
    {
        NSString *regEx = @"^[u4e00-u9fa5]+S";
        NSRange range = [content rangeOfString:regEx options:NSRegularExpressionSearch];
        
        return range.length;
        
    }


  • 相关阅读:
    LeetCode 48 Anagrams
    大数据实时处理:百分点实时计算架构和算法
    Kafka操作
    Kafka
    批量扫描互联网无线路由设备telnet,并获取WIFI密码
    WMI
    openvas
    原始套接字
    Zabbix
    MySQL exist
  • 原文地址:https://www.cnblogs.com/pruple/p/7450654.html
Copyright © 2011-2022 走看看