NSTextfield和用户输入的正则表达式

时间:2013-05-29 09:56:25

标签: objective-c regex nsstring nstextfield

是否有一种简单的方法可以让用户从NSString输入NSTextfield,并将其转换为有效的objc regex

我想逃避所有'\'字符,但显然不是所有不需要的字符,即......'\ n','\ xA9','\ r'等......

例如:

NSString *rejectString = @"^Steve\-Smi+.*+(\n)?"

需要成为这个:

@"^Steve\\-Smi+.*+(\n)?"

1 个答案:

答案 0 :(得分:0)

我最终使用了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;