有没有一种简单的方法可以让用户NSString
从输入NSTextfield
,并将其转换为有效的objc regex
?
我想转义所有'\'字符,但显然不是所有不需要的字符,即...'\n'、'\xA9'、'\r'等......
例如这个:
NSString *rejectString = @"^Steve\-Smi+.*+(\n)?"
需要变成这样:
@"^Steve\\-Smi+.*+(\n)?"
有没有一种简单的方法可以让用户NSString
从输入NSTextfield
,并将其转换为有效的objc regex
?
我想转义所有'\'字符,但显然不是所有不需要的字符,即...'\n'、'\xA9'、'\r'等......
例如这个:
NSString *rejectString = @"^Steve\-Smi+.*+(\n)?"
需要变成这样:
@"^Steve\\-Smi+.*+(\n)?"
我最终改用了 NSPredicate,它对用户更加友好:
NSArray *array = [NSArray arrayWithObjects: ojb1, obj2, obj3, obj4, nil];
NSMutableArray *filteredArray = [NSMutableArray new];
NSString *ignoreString = [ignoreStringTextfield stringValue];
for (NSString *name in array)
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT (SELF MATCHES %@)", ignoreString];
if ([predicate evaluateWithObject:name])
[filteredArray addObject:name];
}
return filteredArray;