0
私はドキュメント管理ページを扱っています。私はユーザ入力からsearchBar.text
を得ている間にNSPredicate
正規表現を使用しました。入力が中国語の括弧であっても、英語の形でうまくいっている間、エラーが発生しました(下の画像のように)。もし誰かがこの問題を遭遇したら?ありがとうございました。
NSPredicate正規表現エラー
ここで私のコードは、最後の行に起こります。
NSString * searchStr = [NSString stringWithFormat:@"fileName like[cd] \'*%@*\'",searchDisplayController.searchBar.text];
NSPredicate *predicate = [NSPredicate predicateWithFormat:searchStr];
self.fileArrayAfterPre = [[NSMutableArray alloc] initWithArray:[fileArr filteredArrayUsingPredicate:predicate]];
このエラーの理由は、正規表現パターンとして使用する入力に、アンペアされていない数のエスケープされていない '('と ')'が含まれているためです。正規表現パターンとして使用された文字列をエスケープするか、以下の答えに示すようにCONTAINSを使用してください。 –
ご了承いただき、ありがとうございます。 – nullLululi