我正在編寫一個程序,我要檢查大約100個短語的16,000個字符串。
我這樣做的簡單方法有兩個for循環:
(導致1,600,000字符串操作)將數組項目與其他數組項目進行比較的高效方法
string[] phrases;
string[] texts;
for(int t_count = 0; t_count < 16000; t_count++)
{
for(int p_count = 0; p_count < 100; p_count++)
{
Regex pattern = new Regex(phrases[p_count]);
if (pattern.IsMatch(texts[t_count]))
{
//Save phrases[p_count]
break;
}
}
}
我認爲必須有更多effcient的方式來做到這一點。
歡迎任何建議。
編輯:@ J. Steen 當然,它運行得更快,但同時生產獨角獸會非常棒!
效率如何?時間?記憶?獨角獸? – 2015-02-23 13:33:52
@ J.Steen獨角獸是! – 2015-02-23 13:34:11
如果沒有更多細節,我們無法改進。也許你可以在循環中的某處使用純字符串方法,而不是正則表達式或「break」。但是誰知道? – 2015-02-23 13:35:43