目標C中是否可以同時搜索多個不同字符串的NSString?例如,我想搜索字符串「good」,「great」,「awesome」,「incredible」,「fantastic」和「brilliant」中所有出現的字符串。在NSString中搜索多個字符串
我的第一個使用方法是使用NSString:rangeOfString
:並循環多次(每個字符串一次),但它讓我感到如果使用更長的字符串集合,這可能變得效率低下且速度慢。
是否有像這樣搜索多個字符串的內置方式,還是應該創建我自己的方法?
編輯:結果在!
經過一段時間的基準測試後,我發現RegEx方法確實比循環rangeInString
方法慢(慢兩倍多)。這些數字,你的愉快,如下:
隨着15萬字(〜1103,500個字符)和20比賽的話列表,目前
的NSString 5412場比賽: rangeInString搜索= 231.077ms
正則表達式搜索= 530.113ms
第一眼我怕你將不得不爲「手動」迭代,但我希望有人會證明我錯了 –
@GabrielePetronella我只是做了:) – 2013-08-22 16:05:17
@ H2CO3,很好的答案,儘管正如你正確指出的那樣,正則表達式可能會更慢;) –