遇到过滤掉特殊符号,只留字符串为汉字、英文大小写、数字的需求,在这里留下个代码,如果有最新的正则代码,请告诉我哦。
NSString类目方法
- (NSString *)filtrationChineseEnglishNumber {
if (ISEmpty(self)) {
return @"";
}
NSMutableArray * array = [[NSMutableArray alloc] init];
for (int i = 0; i < self.length; i++) {
[array addObject:[self substringWithRange:NSMakeRange(i, 1)]];
}
NSString * normalStr = @"";
for (NSString * str in array) {
if ([str isChineseEnglishNumber]) {
normalStr = [normalStr stringByAppendingString:str];
}
}
return normalStr;
}
- (BOOL)isChineseEnglishNumber {
NSString *phoneRegex = @"^[a-zA-Z0-9\\u4E00-\u9FFF]$";
NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex];
BOOL isOK = [phoneTest evaluateWithObject:self];
return isOK;
}
NSLog(@"%@",[@"你好ASFasdf 123*&……(" filtrationChineseEnglishNumber]);
// 打印为:你好ASFasdf123