Objective C で NSString を検索して、多数の異なる文字列を同時に検索することは可能ですか?
たとえば、非常に長い文字列で、「良い」、「素晴らしい」、「素晴らしい」、「信じられない」、「素晴らしい」、「素晴らしい」という文字列をすべて検索したいと考えています。
私の最初の方法は、NSString:rangeOfString
: を使用して複数回 (文字列ごとに 1 回) 循環することですが、文字列のセットが長くなると、これは非効率的で遅くなる可能性があることに気付きました。
このような複数の文字列を検索する組み込みの方法はありますか、それとも独自の方法を作成する必要がありますか?
編集:結果が出ました!
ベンチマークを行う時間を見つけた後、RegEx メソッドはループrangeInString
メソッドよりも実際に遅い (2 倍以上遅い) ことがわかりました。数字は次のとおりです。
150,000 語(~1103,500 文字) と20 の一致語のリスト、5412の一致が存在する
NSString:rangeInString 検索 = 231.077ms
正規表現検索 = 530.113ms