【发布时间】:2012-03-08 15:05:25
【问题描述】:
我有一个数据数组,我想从中提取仅包含数字和数字的行。行示例:
15, +2, ' ', 7, 9, +21
(“ ”代表一个或多个空格)。
在这种情况下,我只想提取 15、7 和 9。我按以下方式使用谓词:
NSString *pattern = @"[^0-9]";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
if (![predicate evaluateWithObject:myStringToMatch])
// Extract ...
我使用在线正则表达式测试器测试了我的模式,发现 [^0-9] 确实匹配除数字 0-9 之外的任何内容。但是,当我运行上面的代码时,它只匹配空格而不是例如 +2,我很确定它应该这样做。澄清一下,myStringToMatch 是一个 NSString 对象。
我不知道为什么它不符合我的模式。谁能给我一个提示我做错了什么?
谢谢。
【问题讨论】:
标签: ios regex nspredicate