/directory/folder/filename.html として動的に生成された文字列があります
最後の部分、つまり/filename.htmlを削除するにはどうすればよいですか。
/directory/folder/として出力したい。
Path.GetDirectoryName
次のメソッドを使用しSystem.IO
ます:
string path = "/directory/folder/filename.html";
path = Path.GetDirectoryName(path);
これにより、パスセパレータがシステムのデフォルトに変更される場合があります。スラッシュを保持する場合は、代わりに次を使用してください。
path = path.Substring(0, path.LastIndexOf('/'));
substring
IO クラス/メソッドを使用せずに使用できます。
string str = "/directory/folder/filename.html";
int endIndex = str.LastIndexOf("/");
endIndex = endIndex !=-1 ? endIndex : 0;
result = str.Substring(0,endIndex);
パス部分のみを使用したい場合
string result = Path.GetDirectoryName(inputName);
パスではなくファイル名が必要な場合
string result = Path.GetFileName(inputName);
また、スラッシュを使用しているようです。上記の方法では、オペレーティングシステムに適したフォルダセパレータ(スラッシュまたはバックスラッシュ)が出力に表示されます。