1. ホーム
  2. c#

[解決済み】ファイルシステムのパスが与えられたとき、拡張子なしでファイル名を抽出する短い方法はありますか?

2022-03-31 11:58:06

質問

私はWPF C#でプログラミングをしています。 例えば以下のようなパスがあります。

C:\Program Files\hello.txt

を抽出したいのですが hello を表示します。

パスは string データベースから取得したものです。 現在、私は以下のコードを使って、パスの分割を '\' で分割し、さらに '.' :

string path = "C:\\Program Files\\hello.txt";
string[] pathArr = path.Split('\\');
string[] fileArr = pathArr.Last().Split('.');
string fileName = fileArr.Last().ToString();

それは動作しますが、私はそれをより短く、よりスマートなソリューションがあるはずだと信じています。何かアイデアはありますか?

解決方法は?

Path.GetFileName

ファイルパスで表されるファイル名と拡張子を返します。 を読み取り専用の文字スパンで指定します。


Path.GetFileNameWithoutExtension

ファイルパスのうち、拡張子を除いたファイル名を返します。 は、読み取り専用の文字列で表されます。


Path クラスは素晴らしいです。