完全なファイル名パスからフォルダー名を決定することは、ファイル システムを操作する場合の一般的なタスクです。 「C:folder1folder2file.txt」のようなパスを指定すると、目的はフォルダー名「folder2」を取得することです。
これを実現するために、C# プログラミング言語ではいくつかのメソッドが提供されています。
Path.GetDirectoryName() とPath.GetFileName():
このアプローチでは、Path.GetDirectoryName() と Path.GetFileName() の組み合わせを利用します。前者はファイル名を除いたフルパスを取得しますが、後者はファイル名のみを抽出します。
string path = "C:/folder1/folder2/file.txt"; string lastFolderName = Path.GetFileName( Path.GetDirectoryName( path ) );
このメソッドはパスの有無に関わらず正確にフォルダー名を取得します。ただし、パスがファイル名で終わることを前提としています。パスがフォルダー名で終わる場合は、追加のチェックが必要です。
DirectoryInfo の使用:
DirectoryInfo クラスは、フォルダー名を抽出する別の方法を提供します。
string path = "C:/folder1/folder2/file.txt"; DirectoryInfo directoryInfo = new DirectoryInfo(path); string folderName = directoryInfo.Name;
このアプローチはファイルとフォルダーの両方を処理するため、より多用途ですが、既存のフォルダーを表すパスが必要です。
正規表現の使用:
正規表現を使用してフォルダ名を取得することもできます。
string path = "C:/folder1/folder2/file.txt"; Regex regex = new Regex(@"(.*)\(.+)$"); Match match = regex.Match(path); string folderName = match.Groups[2].Value;
この方法は、さまざまな方法でうまく機能します。
最適な方法の選択は、パス形式の特定の要件によって異なります。柔軟性、パフォーマンス、既存の機能などの要素を考慮してアプリケーションを決定します。
以上がC# でファイル パスから最後のフォルダー名を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。