有没有比indexof效率高的字符串比较方法?

时间:2023-01-04 22:14:19
数组A的内容是很多篇长文章
数组B的内容是几万个关键词
目标是看A中含有哪些关键词

c#用indexof来做,40分钟只完成了几十篇文章的比较。(奇怪的是进程占用CPU一直在25%左右)

我用VBA来做,10分钟已经可以完成全部几千篇文章的比较了。(进程占用一直在70%以上)

c#里面有没有比indexof效率更高的方法?

10 个解决方案

#1


你说得清楚你得VBA如何比较的吗?

#2


引用 1 楼 sp1234 的回复:
你说得清楚你得VBA如何比较的吗?


vba时是用instr方法

#3


应该不会是indexof的问题。你还是看看你的代码其它部分如何使用string的。某些地方,应该改为StringBuilder。

#4


引用 3 楼 sp1234 的回复:
应该不会是indexof的问题。你还是看看你的代码其它部分如何使用string的。某些地方,应该改为StringBuilder。


程序中并没有要重复修改的string,改成stringbuilder也没用吧?

#5


indexOf的确不高,试一试正则表达式

#6


引用 5 楼 niss 的回复:
indexOf的确不高,试一试正则表达式

疯了吧,这种断言都能摆出来?

#7


使用重载指定CompareOptions.Ordinal选项试一下

#8


instr好像只有文本比较和二进制比较两种,但是IndexOf还有区域特定性等选项

#9


没有新的回复?。。。。。天,问题还没解决

#10


trie图...

#1


你说得清楚你得VBA如何比较的吗?

#2


引用 1 楼 sp1234 的回复:
你说得清楚你得VBA如何比较的吗?


vba时是用instr方法

#3


应该不会是indexof的问题。你还是看看你的代码其它部分如何使用string的。某些地方,应该改为StringBuilder。

#4


引用 3 楼 sp1234 的回复:
应该不会是indexof的问题。你还是看看你的代码其它部分如何使用string的。某些地方,应该改为StringBuilder。


程序中并没有要重复修改的string,改成stringbuilder也没用吧?

#5


indexOf的确不高,试一试正则表达式

#6


引用 5 楼 niss 的回复:
indexOf的确不高,试一试正则表达式

疯了吧,这种断言都能摆出来?

#7


使用重载指定CompareOptions.Ordinal选项试一下

#8


instr好像只有文本比较和二进制比较两种,但是IndexOf还有区域特定性等选项

#9


没有新的回复?。。。。。天,问题还没解决

#10


trie图...