我正在编写一个程序,我要检查大约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