首先拿到手上的是一个路径加上文件名的字符串,但因为某种需要,我仅仅只要路径,不需要文件文,这时我们就可以做以下操作即可得到自己想要的。
procedure TForm4.Button1Click(Sender: TObject);
varStr:string;
Str1:string;
Str2:string;
n:Integer;
X:Integer;
X1:Integer;
i:Integer;
begin
Str := 'F:\VBA\Delphi学习\myTest\k51\边框和底纹.xls';
Str1 := 'F:\VBA\Delphi学习\myTest\k51\边框和底纹.xls';
n := Length(Str);
i := -1; //注意要从-1开始,因为还没开始执行就加一了
while (X <> 0) do //一直循环,知道最终被截取的字符串中不包含‘\’则终止
begin
X := Pos('\',Str); //使用查询字符位置函数,查找出‘\’在该Str字符串中的位置
i := i + 1;
Str := Copy(Str, X + 1, n - (X + 1)); //截取子字符串函数,截取从第x+1位开始长度为n-(x+1)的子字符串,并作为函数值返回
end;
X1 := Pos(Str,Str1); //再从原字符串中查找以上执行出来的Str子字符串,并返回它的开始位置
Str2 := Copy(Str1, 1, X1-1); //这一步则是截取出以上执行出来的Str子字符串除外的整个字符串
ShowMessage(Str2);
end;
运行结果: