3 Stimmen

Bewerten / Vergleichen von NSString mit Platzhaltern?

Hallo, ich versuche, ein NSString zu bewerten, um zu sehen, ob er bestimmte Kriterien erfüllt, die Platzhalter in Form von einem oder mehreren Sternchenzeichen enthalten.

Beispiel:

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

Ich möchte sehen, ob filePath zu matchCriteria passt, in diesem Beispiel tut es das. Weiß jemand, wie ich das machen kann?

Vielen Dank!

9voto

dreamlax Punkte 91447

Zusätzlich zu NSRegularExpression können Sie auch NSPredicate verwenden.

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

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

BOOL filePathMatches = [pred evaluateWithObject:filePath];

Der Predicate Programming Guide ist ein umfassendes Dokument, das beschreibt, wie Prädikate funktionieren. Sie können besonders nützlich sein, wenn Sie ein Array von Elementen haben, die Sie basierend auf bestimmten Kriterien filtern möchten.

4voto

Elden Punkte 617

NSString implementiert diese Methoden:

@interface NSObject (NSComparisonMethods)
- (BOOL)isLike:(NSString *)object;
- (BOOL)isCaseInsensitiveLike:(NSString *)object;
@end

Sie sind viel schneller als NSPredicate und NSRegularExpression.

1voto

Max Punkte 16646

Sie können NSRegularExpression verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X