正則表達式使用 JSL 從路徑中提取文件我確信這是對這個問題的直接回答,但如果我有以下內容:
full_path[i] = "C:\dir1\dir2\dir3\dir4\file.xlsx"
我只想得到“file.xlsx”,目錄深度是可變的,即可能有 2 個目錄,也可能有 5 個目錄,我該怎麼做? 在 Perl 中,我會通過 \ 將字符串拆分為一個數組並獲取數組的最後一部分,但不確定如何在 JSL 中執行此操作。 任何幫助,將不勝感激!
回复:使用 JSL 從路徑中提取文件的正則表達式這是一個很好的解決方案,一行。 非常感謝!
回复:使用 JSL 從路徑中提取文件的正則表達式單詞 (-1, full_path[i], "\" )
您可以在 word() 函數中使用負值,因此 -1 給出最後一個單詞,使用選擇的分隔符。
回复:使用 JSL 從路徑中提取文件的正則表達式如何做到這一點的兩個例子:
full_path = "C:\dir1\dir2\dir3\dir4\file.xlsx";
//Regex (fails if filename contains non-word characters)
file1 = Regex(full_path, "[\w.]+$");
// Split string
file2 = Reverse(Words(full_path, "\"))[1];
Show(file1, file2);
回复:使用 JSL 從路徑中提取文件的正則表達式試試Words() 函數.
full_path = "C:\dir1\dir2\dir3\dir4\file.xlsx";
listofwords=words(full_path, "\");
filename=listofwords[nitems(listofwords)];
/*:
“文件.xlsx”
回复:使用 JSL 從路徑中提取文件的正則表達式您可以使用 JSL 函數 Words() 將路徑分成其組成部分,然後只取最後一部分。 例子:
full_path = {"C:\dir1\dir2\dir3\dir4\file.xlsx"};我 = 1; // 設置
full_path[i] = "C:\dir1\dir2\dir3\dir4\file.xlsx";
文件名=單詞(完整路徑[i],“\”); // 根據反斜杠作為分隔符分隔路徑 - 返回一個列表
文件名 = 文件名[N 項(文件名)]; // 獲取列表中的最後一個字符串
/*:
“文件.xlsx”