pos函数是从左到右查找字符串,有没有从右到左查找的函数?

mathsfan 2009-05-05 03:39:11
虽然该问题可以变相解决,不过我觉得如果有这种函数的话平时也蛮有用的哈...
...全文
812 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mathsfan 2009-05-05
  • 打赏
  • 举报
回复
看到了,好象只支持单字符...
没有匹配到时返回0,看来仅仅用在一些特殊的时候,对于大部分的匹配字符串的时候还是得自己去写哈!!!
bdmh 2009-05-05
  • 打赏
  • 举报
回复
你把分隔符设为'.d',他认的还是'.',所以你返回的还是'c'
delphi help
When working with multi-byte character sets (MBCS), S may contain double byte characters, but the delimiters listed in the Delimiters parameter must all be single byte non-null characters.
JPEXE 2009-05-05
  • 打赏
  • 举报
回复
如果只是查找一个单字符(Char)的话,还可以用StrRScan.
function StrRScan(const Str: PAnsiChar; Chr: AnsiChar): PAnsiChar;
function StrRScan(const Str: PWideChar; Chr: WideChar): PWideChar;

当然要注意它返回的不是位置,而是指针,就看合不合你的使用了.
相反从左查找用StrScan.
mathsfan 2009-05-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bdmh 的回复:]
如果只是考虑第一次出现的情况,LastDelimiter,反向第一次出现的位置
[/Quote]
bdmh果然博学多才啊...
不过有一个问题:
如果
s:='a.b.c';
i:=LastDelimiter('.',s)+1;
ShowMessage(Copy(s,i,MaxInt));
则正确返回:c
而如果
s:='a.b.c';
i:=LastDelimiter('.d',s)+1;
ShowMessage(Copy(s,i,MaxInt));
按理我需要的是:空
现在返回:c
即,如果肯定能pos到时正确,没pos到时结果是不正确的...
僵哥 2009-05-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mathsfan 的回复:]
引用 1 楼 hongqi162 的回复:
uses
strutils;


使用ReverseString将字符串翻转一下

这个方法我知道哈...
不过这是我所知道的最简单的方法。
[/Quote]
最简单的就是自己写。
mathsfan 2009-05-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hongqi162 的回复:]
uses
strutils;


使用ReverseString将字符串翻转一下
[/Quote]
这个方法我知道哈...
不过这是我所知道的最简单的方法。
bdmh 2009-05-05
  • 打赏
  • 举报
回复
如果只是考虑第一次出现的情况,LastDelimiter,反向第一次出现的位置
hongqi162 2009-05-05
  • 打赏
  • 举报
回复
uses
strutils;




使用ReverseString将字符串翻转一下
项目工程资源经过测试运行,功能上ok,可复现复刻,拿到资料包后可实现复刻出一样的项目,本人系统开发经验充足(全栈),有任何使用问题欢迎随时与我联系,我会努力及时为您解惑,提供帮助 【资源内容】:包含源码、工程文件等。资源质量优质,放心下载使用!可参考实现复现;设计报告也可借鉴此项目工程;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,及时抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 质量优质,放心下载使用。下载后请首先打开说明文件(如有);项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途,网络商品/电子资源资料具可复制性不支持退款。质量优质,放心下载使用。
项目工程资源经过测试运行,功能上ok,可复现复刻,拿到资料包后可实现复刻出一样的项目,本人系统开发经验充足(全栈),有任何使用问题欢迎随时与我联系,我会努力及时为您解惑,提供帮助 【资源内容】:包含源码、工程文件等。资源质量优质,放心下载使用!可参考实现复现;设计报告也可借鉴此项目工程;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,及时抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 质量优质,放心下载使用。下载后请首先打开说明文件(如有);项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途,网络商品/电子资源资料具可复制性不支持退款。质量优质,放心下载使用。

16,746

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧