一个简单的字符串截取问题 本帖最后由 yklovelife 于 2009-11-11 20:01:54 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 msg:= Copy(a,1,LastDelimiter('g',a))f1:= Copy(a,Pos('f',a),2)f2:=Copy(a,length(a)-2,2); 补充下,msg,f1,f2 是任意一字符串,且长度不定。 在Delphi中处理字符串时,想获取该字符串中某一个符号最后出现的位置,可用LastDelimiter(substr,str);此函数在SysUtils包中,参数substr为要查找最后位置的子字符串,str为要处理的字符串。例如,有一文件路径字符串要处理: D:\Delphi\DelphiProject\MultiMedioProject\4.swf在此想获取此Flash文件的号数,即4.则可以这样处理:var StartPos:Integer; EndPos:Integer; len:Integer; str:string;begin str:='D:\Delphi\DelphiProject\MultiMedioProject\4.swf'; StartPos:=LastDelimiter('\',str);//最后一个\的位置 EndPos:=LastDelimiter('.',str);//最后一个.的位置 len:=EndPos-StartPos-1;//总共要取的子字符数 str:=Copy(str,StartPos+1,len);//获取子字符串end;完成。帮助楼主加深理解 那你怎么判断该在哪里截取呢?还是在中间加上特殊符号吧 msg|&&&&&&|f1|to|f2这样就好截取多了 StringReplace &&&&&& -> "|"StringReplace to -> "|"msg|f1|f2 ? 找DELPHI老师 dbgrided中的DrawcolumnCell事件。如何将组别中带组字的那一行字体变为红色?(下图) 如何判断一个网页或一个文件是否已在ie的缓存目录里了? adotable怎麼來查找字段? 一个比较怪的问题 冬瓜又有问题了,各位大大帮忙啊 怎样获得一个Application的版本信息? 有一个快捷方式(temp.exe.lnk),我想得到这个快捷方式指向的应用程序的路径? 各位,帮我提供吃饭的地方吧! delphi和SQL Server联合开发数据库,表的名称是动态的,如何写insert语句呢? 这个属性是什么意思,最好详细一点 变成"双节棍"
f1:= Copy(a,Pos('f',a),2)
f2:=Copy(a,length(a)-2,2);
例如,有一文件路径字符串要处理: D:\Delphi\DelphiProject\MultiMedioProject\4.swf
在此想获取此Flash文件的号数,即4.
则可以这样处理:
var
StartPos:Integer;
EndPos:Integer;
len:Integer;
str:string;
begin
str:='D:\Delphi\DelphiProject\MultiMedioProject\4.swf';
StartPos:=LastDelimiter('\',str);//最后一个\的位置
EndPos:=LastDelimiter('.',str);//最后一个.的位置
len:=EndPos-StartPos-1;//总共要取的子字符数
str:=Copy(str,StartPos+1,len);//获取子字符串
end;
完成。
帮助楼主加深理解
还是在中间加上特殊符号吧
msg|&&&&&&|f1|to|f2这样就好截取多了
StringReplace &&&&&& -> "|"
StringReplace to -> "|"msg|f1|f2 ?