- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
/*******判断是否是邮箱的正则*******/
/*
NSString *email = @"213414@qq.com";
NSString *regex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isValid = [predicate evaluateWithObject:email];
NSLog(@"%d",isValid);
*/
/********在字符串中搜索到需要的字符串 在截取出来********/
/*
NSString *phoneNo = @"13143503442";
NSRange range = [phoneNo rangeOfString:@"^1[3]\\d{9}$" options:NSRegularExpressionSearch];
if (range.location != NSNotFound) {
NSLog(@"%@", [phoneNo substringWithRange:range]);
}
*/
/********用正则表达式在字符串中搜索到需要的字符串 在截取出来 ,注意只能寻找一次 ********/
/*
NSMutableString *url = [NSMutableString stringWithFormat:@"1229我436624@qq.com"];
NSError *error;
// 创建NSRegularExpression对象并指定正则表达式
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[\u4e00-\u9fa5]" options:NSRegularExpressionCaseInsensitive error:&error];
if (!error) { // 如果没有错误
// 获取特特定字符串的范围
NSTextCheckingResult *match = [regex firstMatchInString:url options:0 range:NSMakeRange(0, [url length])];
if (match) {
// 截获特定的字符串
// NSString *result = [url substringWithRange:match.range];
//删除特定的字符串 输出剩下的字符串
[url deleteCharactersInRange:match.range];
NSLog(@"----%@",url);
}
} else { // 如果有错误,则把错误打印出来
NSLog(@"error - %@", error);
}
*/
NSString *regex = @"[\u4e00-\u9fa5]";
NSMutableString *str = [NSMutableString stringWithFormat:@"你1229我们436他624@qq.com"];
NSError *error;
NSRegularExpression *regular = [NSRegularExpression regularExpressionWithPattern:regex options:NSRegularExpressionCaseInsensitive error:&error];
// 对str字符串进行匹配
NSArray *matches = [regular matchesInString:str options:0 range:NSMakeRange(0, str.length)];
// 遍历匹配后的每一条记录
NSInteger i = 0;
for (NSTextCheckingResult *match in matches) {
// NSRange range = [match range];
//找出匹配的字符串并输出 输出找出的特定字符
// NSString *mStr = [str substringWithRange:match.range];
//match.rang都记录下来了 遍历时候字符串被删除 字符串的length在减少 所以相应的rang.length也要减少 但是match.rang是redonly 所以赋值给其他的 在改变 遍历一次减少1设置变量i记录遍历几次
if (match.range.location == 0)
{
[str deleteCharactersInRange:match.range];
}else{
i++;
NSRange tempRang = match.range;
NSRange tempRang2 = tempRang;
tempRang2.location -= i;
tempRang = tempRang2;
[str deleteCharactersInRange:tempRang];
}
NSLog(@"%@", str);
}
//一次delete掉特定字符
}