评估/比较NSString和通配符?

Lee*_*2UK 2 iphone wildcard objective-c nsstring

嗨,我正在尝试评估一个NSString,看它是否符合某个标准,其中包含一个或多个星号字符形式的通配符.

例:

NSString *filePath = @"file://Users/test/Desktop/file.txt";
NSString *matchCriteria = @"file://*/file.*";
Run Code Online (Sandbox Code Playgroud)

我想看看是否filePath匹配(适合?)matchCriteria,在这个例子中它确实如此.有谁知道我该怎么做呢?

非常感谢!

dre*_*lax 7

除此之外NSRegularExpression,您还可以使用NSPredicate.

NSString *filePath = @"file://Users/test/Desktop/file.txt";
NSString *matchCriteria = @"file://*/file.*";

NSPredicate *pred = [NSPredicate predicateWithFormat:@"self LIKE %@", matchCriteria];

BOOL filePathMatches = [pred evaluateWithObject:filePath];
Run Code Online (Sandbox Code Playgroud)

谓词编程指南是一个综合性文件desribing谓词是如何工作的.如果您要根据某些条件筛选要筛选的项目数组,它们会特别有用.