ホームページ > バックエンド開発 > C++ > C# でファイル パスから最後のフォルダー名を抽出するにはどうすればよいですか?

C# でファイル パスから最後のフォルダー名を抽出するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-30 01:06:17
オリジナル
467 人が閲覧しました

How Can I Extract the Last Folder Name from a File Path in C#?

完全なファイルパスからのフォルダー名の抽出

完全なファイル名パスからフォルダー名を決定することは、ファイル システムを操作する場合の一般的なタスクです。 「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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート