gpt4 book ai didi

C#:有效地搜索大字符串以查找其他字符串的出现

转载 作者:太空狗 更新时间:2023-10-29 22:29:27 24 4
gpt4 key购买 nike

我正在使用 C# 在 >= 4kb 的大字符串中连续搜索多个字符串“关键字”。这段代码不断循环, sleep 并不能在保持合理速度的同时充分减少 CPU 使用率。 bog-down就是关键词匹配方式。

我发现了一些可能性,所有这些都提供了相似的效率。

1) http://tomasp.net/articles/ahocorasick.aspx-我没有足够的关键字来使它成为最有效的算法。

2) 正则表达式。使用实例级别,编译正则表达式。- 提供的功能比我需要的多,但效率不够。

3) String.IndexOf。-我需要为此做一个“智能”版本,因为它提供了足够的效率。遍历每个关键字并调用 IndexOf 并不能解决问题。

有人知道我可以用来实现我的目标的任何算法或方法吗?

最佳答案

您是否一直在寻找相同的关键字?尝试 Boyer-Moore .它需要对关键字进行一些预处理,但之后会提高速度。

关于C#:有效地搜索大字符串以查找其他字符串的出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1031292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com