2010-05-06 165 views

回答

8

在SysUtils單元中找到的最後一個反斜槓ExtractFileName後面可以得到任何結果。

25

嘗試使用ExtractFileName函數,如果你的路徑沒有用反斜線結束,這個函數只適用於你的例子,所以你可以使用ExcludeTrailingPathDelimiter函數去除最後的反斜槓。

看到這個樣本

program ProjectExtractPathDemo; 

{$APPTYPE CONSOLE} 

uses 
    SysUtils; 

var 
    Path : string ; 
begin 
    Path:='C:\Program Files\Borland'; 
    Writeln(ExtractFileName(Path));//return Borland 

    Path:='C:\Program Files\Borland\'; 
    Writeln(ExtractFileName(Path));//return '' 

    Path:='C:\Program Files\Borland\'; 
    Writeln(ExtractFileName(ExcludeTrailingPathDelimiter(Path)));//return Borland 


    Readln; 
end. 

檢查此鏈接瞭解更多信息

Path Manipulation Routines

+1

我永遠不知道ExtractFileName將在一個目錄上工作。 完美。 謝謝。 – philO 2010-05-06 17:49:56

+0

+1我會嘗試對文件夾使用ExtractFilePath,對文件使用ExtractFileName。 – 2011-12-14 20:28:11

0

直接解析該字符串,然後返回 「Borland的」,你可以這樣做:

uses SysUtils; 

Delete(Path, 1, LastDelimiter('\', Path)); 
相關問題