我试图在用户尝试更改名称时验证文件名/文件夹名称。 我知道我应该使用Regex / NSPredicate。但是,我在下班后的研究中并没有弄清楚。 感谢任何专家可以帮助我。 非常感谢。
Madhumal Gunetileke建议: 我修改了他的代码如下。它适用于我的情况。
NSCharacterSet * set = [NSCharacterSet characterSetWithCharactersInString:@"\\/:*?\"<>|"];
if ([newName rangeOfCharacterFromSet:set].location != NSNotFound) {
NSLog(@"illegal Name");
return;
}
答案 0 :(得分:0)
如果您只是想查看用户提供的新名称是否有效,您可以尝试这样的事情;
NSString *yourString = @"<the name you want to verify comes here>";
NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLKMNOPQRSTUVWXYZ0123456789"] invertedSet];
if ([yourString rangeOfCharacterFromSet:set].location != NSNotFound) {
NSLog(@"NOT Legal");
}
else {
NSLog(@"Legal");
}