在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
得到一个字符在字符串中的位置有很多方法,最简单的就是使用delphi自己的Pos函数 另外一个方法就是使用 循环查找字符串数组的方法,二分法等,这几种是比较常规的方法,其中建议最好不使用Pos函数。 因为,虽然使用该函数写的代码是很简单,只用一句话 CharIndex := Pos(MyChar,str) 就能够完成,但是其实他的效率是最低的,因为delphi在使用它之前,先要开辟一个数组空间,然后将长度变成1 然后在把这个单字符拷贝到刚刚开辟的内存空间中去。然后才调用Pos函数进行查找,而查找完成之后,Delphi还 会 使用 Try...Finally...End机制来释放分配开辟的内存空间,而Try finally是很消耗资源的。所以不推荐使用。 顺序循环查找的方法也很简单,二分法稍微复杂一点。 下面是自己写的一个得到一个字符在字符串中的位置函数:(采用的是顺序查找,有兴趣可以在修改一下成为二分查找,其查找速度将会由数量级变成对数级) 止在讨论如何在Delphi中使用汇编! function GetCharPos(ResChar: AnsiChar;Const s: string;Index: integer=0): integer; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论