これは本当にシンプルなはずですが、動作させたくありません。私はNSRegularExpressionを使用するNSPredicateを使用してCoreDataを取得したいと思います。私はmyStringまたはmyString_10を検索したいと考えています(10は任意の数字です、例えばmyString_333)。NSPredicateとNSRegularExpression
これは私のコードです:
NSString *regexString = [NSString stringWithFormat:@"%@_[0-9]+", value];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:regexString
options:NSRegularExpressionSearch
error:&error];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(label = %@) OR (label = %@)", value, regex];
値は、エンティティのキーで文字列とラベルです。
値が "New Project"の場合、NSFetchRequestは1つのオブジェクトを含む配列を返しますが、フェッチするモデル( "New Project"と "New Project_1")に2つのラベルがあります。
私は間違っていますか?
私はそれを読んでいます。私は、正規表現が述語文字列の一部である必要があると言う部分を見つけませんでした。その例を参照してください:http://stackoverflow.com/questions/2458881/nspredicate-and-regex – strave
私はそれを編集して再言います。私が指摘しようとしていた問題は、あなたが 'NSString'ではなく' NSRegularExpression'を使っていることです。 %@でも文字列を使用できます。 – Joe
偉大な、それは働いた!今私は考えを得た。どうもありがとうございました! – strave