正则表达式使用 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”