Delphi:计算一个字符串在另一个字符串中出现的次数
我正在使用 Delphi 2007,想知道是否有一种简单的方法来计算一个字符串在另一个字符串中出现的次数。我可以使用任何内置函数吗?
示例:
- “How”在字符串“How are you?”中出现一次。
- “do”在字符串“How do you do?”中出现两次
I'm using Delphi 2007 and wonder if there is a simple way of counting the number of times a string occurs in another string. Any builtin function I can use?
Examples:
- "How" occurs once in the string "How are you?"
- "do" occurs twice in the string "How do you do?"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我见过的最聪明的方法之一:
One of the most clever ways I've ever seen to do this:
如果您发现自己经常在大量文本中搜索出现的内容并且性能成为问题,您可以尝试Boyer-Moore 搜索算法。
Delphi 中的实现可以在我们自己的 SO 此处
If you find yourself frequently searching occurences in a large body of text and performance becomes an issue, you could try the Boyer-Moore search algorithm.
An implementation in Delphi can be found at our very own SO here
较新的 Delphi 版本有一个
CountChar
< /a> 字符串助手,计算字符串中单个字符的出现次数:Newer Delphi versions have a
CountChar
string helper, counting occurrences of a single character in a string: