在處理網路路徑時,常需從完整 URL 中提取目錄結構與檔案名稱。本文提供兩個獨立函式:GetUrlFolderName 解析所有目錄層級,GetUrlFileName 取得最後的檔案名稱。
public void GetUrlFolderName(string url)
{
List folders = new List();
int start = 0;
int index;
while ((index = url.IndexOf('/', start)) != -1)
{
if (index > start) // 避免空字串
{
string folder = url.Substring(start, index - start);
folders.Add(folder);
}
start = index + 1;
}
// folders 現在包含所有目錄名稱
foreach (var f in folders)
lstFiles.Items.Add(f);
}
public void GetUrlFileName(string url)
{
int lastSlash = url.LastIndexOf('/');
if (lastSlash >= 0 && lastSlash < url.Length - 1)
{
string fileName = url.Substring(lastSlash + 1);
txtSaveFileName.Text = fileName.ToLower();
}
}
List<string> 動態儲存。LastIndexOf 直接定位檔案名稱,簡化邏輯。
相關主題: C# 路徑處理、Uri 類別應用、正則表達式解析 URL。