Delphi StrUtils.PosEx - 返回子字符串的索引值,从指定位置开始。
Delphi StrUtils.PosEx - 返回子字符串的索引值,从指定位置开始。
源码(PosEx):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | function PosEx( const SubStr, S: string ; Offset: Cardinal = 1 ): Integer ; var I,X: Integer ; Len, LenSubStr: Integer ; begin if Offset = 1 then Result := Pos(SubStr, S) else begin I := Offset; LenSubStr := Length(SubStr); Len := Length(S) - LenSubStr + 1 ; while I <= Len do begin if S[I] = SubStr[ 1 ] then begin X := 1 ; while (X < LenSubStr) and (S[I + X] = SubStr[X + 1 ]) do Inc(X); if (X = LenSubStr) then begin Result := I; exit; end ; end ; Inc(I); end ; Result := 0 ; end ; end ; |
说明:
- PosEx返回S中SubStr的索引,开始在偏移处搜索。如果偏移量为1(默认),PosEx 相当于 Pos 函数。
- 如果找不到子字符串、偏移大于S长度或偏移小于1,则PosEx返回0。
示例:
1 2 3 4 5 6 7 8 9 10 | //从第几个字符开始,搜索字串的位置 PosEx var ss,s: string ; i: Integer ; begin ss := 'Hello Delphi7' ; s := 'llo' ; i := PosEx(s,ss, 2 ); ShowMessage(IntToStr(i)); //3 end ; |
延伸:查看Pos函数
创建时间:2021.05.06 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
2020-05-06 生成FTP快捷键,通过资源管理器打开的方法