質問: System.IO.Path.GetFileName(System.IO.Directory.GetCurrentDirectory + "test_v" + "^[0-9][.0-9]$" + ".xlsx") Console.WriteLine(test1) 結果 test_v^[0-9][.0-9]$.xlsx ``` test1の文字列に、 実行ファイルが格納されているファイルパスを取得し、 その格納ファイル内の「test_v1.01.xlsx」のようなファイル名に直接バージョン管理をしている際の このファイルパスの取得方法があれば、教えてください。 System.IO.Directory.GetCurrentDirectory : exeファイルが格納されているフォルダパスを取得 System.IO.Path.GetFileName("A.xlsx") : "A.xlsx"ファイル名と拡張子のパスを取得 上記のv_2.00など、ファイル名が変更する場合、 "^[0-9][.0-9]$"このような正規表現方法で、実現できないかと考えています。 ただ、現在では、 結果にある通り、正規表現が使えていない?かなと思っています。 やりたいこととしては、 今後v_1.05でもv3.03でもv5.00でも好きなヴァージョでのファイル名を記載しても、 そのファイルのパスを取得することです。 よろしくお願いいたします
回答: ``` dim path as string = IO.Path.Combine(Application.StartupPath,"test_v[0-9][\.0-9]\.xlsx") dim m as match = System.Text.RegularExpressions.Regex.Match (path) Console.WriteLine(m.value) ``` 該当するファイルが複数存在する場合など、色々考慮していませんが。