怎样才能知道一个字符在一个字符串中最左边的那个的位置啊?!

plutu 2008-04-28 08:49:32
比如在字符串'C:\WINDOWS\NOTEPAD.EXE'中最后一个'\'的位置是11,用一个什么比较简单的方法能得到?谢谢!!
...全文
63 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dh9450 2008-04-28
  • 打赏
  • 举报
回复
如果有汉字
转换成widestring
plutu 2008-04-28
  • 打赏
  • 举报
回复
谢谢各位!
jadeluo 2008-04-28
  • 打赏
  • 举报
回复
楼主的问题应该改成: 怎样才能知道一个字符在一个字符串中最右边的那个的位置啊?


function PosReverse(const SubStr, Str: String): Integer;
var
i : Integer;
begin
Result := 0;
for i := Length(Str) - Length(SubStr) downto 1 do
begin
if copy(Str, i, Length(SubStr)) = SubStr then
begin
Result := i;
break;
end;
end;
end;

......
ShowMessage (IntToStr(PosReverse('\', 'C:\WINDOWS\NOTEPAD.EXE')));
......
simonhehe 2008-04-28
  • 打赏
  • 举报
回复
从0开始计数,这样计算出来的是10,只需要+1即可
var
str: string;
n : integer;
begin
str := 'C:\WINDOWS\NOTEPAD.EXE';
n := length(str) - pos('\',ReverseString(str));
showmessage(inttostr(n + 1));
CCC的 2008-04-28
  • 打赏
  • 举报
回复
自己写一个函数,好像没有现成的

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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