2

配列内のフレーズまたは単語全体を検索する方法を見つけようとしています。しかし、うまくいきません。例えば。:

私はNSMutableArray2 つの要素を持っています:
要素 1 にはキー desc: "これに対する別の要素の例"があります。
要素 2 にはキー desc: "この他の要素に対する別の要素の例" があります。

「その他」という単語のみを含む要素を検索したい。

私が使用する場合:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"desc like '*other*'"];

結果には両方の要素が含まれます。

"* other *" のように検索すると、"other" で始まる説明を見逃してしまいます (空白のため)。

テキストの最初、最後、中間、および「.」があるにもかかわらず、正確な単語またはフレーズを検索する機能を知っている人はいますか? または「、」または「'」?

4

2 に答える 2

0

この通常のパターンマッチがうまくいくと思います:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"desc matches %@", @".*\\bother\\b.*"];
于 2012-10-01T23:36:52.613 に答える
0

必要なのは完全な正規表現の一致であり、これをmatches提供します。試してください(未テスト):

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"desc matches '\\bother\\b'"];

re\bは単語境界に一致します (Objective-C および正規表現ではエスケープ文字であるため、上記の二重バックスラッシュ...)。一致については Apple のドキュメントを参照し、ICU 正規表現ガイドへのリンクをたどってください。

于 2012-10-01T22:02:39.387 に答える