JSLを使用してパスからファイルをプルする正規表現これはこの質問に対する簡単な答えだと確信していますが、次のような場合は次のようになります。
full_path [i] = "C:\ dir1 \ dir2 \ dir3 \ dir4 \ file.xlsx"
「file.xlsx」だけを取得したいのですが、ディレクトリの深さは可変です。つまり、2つのディレクトリが5つである可能性があります。どうすればよいですか? Perlでは、文字列を\で配列に分割し、配列の最後の部分を取得しますが、JSLでこれを行う方法がわかりません。 どんな助けでもいただければ幸いです!
Re:JSLを使用してパスからファイルをプルする正規表現これは素晴らしい解決策であり、1行です。 どうもありがとうございました!
Re:JSLを使用してパスからファイルをプルする正規表現単語(-1、full_path [i]、 "\")
word()関数では負の値を使用できるため、-1は、選択した区切り文字を使用して最後の単語を示します。
Re:JSLを使用してパスからファイルをプルする正規表現それを行う方法の2つの例:
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);
Re:JSLを使用してパスからファイルをプルする正規表現試してみてくださいWords()関数。
full_path = "C:\dir1\dir2\dir3\dir4\file.xlsx";
listofwords=words(full_path, "\");
filename=listofwords[nitems(listofwords)];
/ *:
「file.xlsx」
Re:JSLを使用してパスからファイルをプルする正規表現JSL関数Words()を使用して、パスをそのコンポーネント部分に分離し、最後の部分だけを取得できます。 例:
full_path = {"C:\ dir1 \ dir2 \ dir3 \ dir4 \ file.xlsx"}; i = 1; // 設定
full_path [i] = "C:\ dir1 \ dir2 \ dir3 \ dir4 \ file.xlsx";
filename = Words(full_path [i]、 "\"); //バックスラッシュに基づいてパスを区切り文字として区切ります-リストを返します
filename = filename [N Items(filename)]; //リストの最後の文字列を取得します
/ *:
「file.xlsx」