废话不多说,直接撸代码。

 

+(NSArray* )getChineseStringFromString:(NSString* )string{

    

    

    if (string == nil || [string isEqual:@""])

    {

        return nil;

    }

    NSMutableArray *arr = [[NSMutableArray alloc]init] ;

    for (int i=0; i<[string length]; i++)

    {

        int a = [string characterAtIndex:i];

        if ((a <= 0x9fff && a >= 0x4e00 ) || (a >= 0x30 && a <= 0x39) || (a >= 0x61 && a <= 0x7a) || (a >= 0x41 && a <= 0x5a))

        {

            [arr addObject:[string substringWithRange:NSMakeRange(i, 1)]] ;;

        }

    }

    return arr;

}

 

这个方法就是遍历字符串中的每一个字符,并获取每个字符的unicode编码位置,并将这个位置和英文,数字,中文的unicode编码范围进行比较,若在这几个范围内,则将其加入数组中,就将其中你想要的字符筛选出来,最后遍历返回的数组拼接起来就ok。