1

/directory/folder/filename.html として動的に生成された文字列があります

最後の部分、つまり/filename.htmlを削除するにはどうすればよいですか。

/directory/folder/として出力したい。

4

3 に答える 3

7

Path.GetDirectoryName次のメソッドを使用しSystem.IOます:

string path = "/directory/folder/filename.html";
path = Path.GetDirectoryName(path);

これにより、パスセパレータがシステムのデフォルトに変更される場合があります。スラッシュを保持する場合は、代わりに次を使用してください。

path = path.Substring(0, path.LastIndexOf('/'));
于 2012-09-07T15:38:58.817 に答える
3

substring IO クラス/メソッドを使用せずに使用できます。

string str = "/directory/folder/filename.html";
int endIndex = str.LastIndexOf("/");
endIndex = endIndex !=-1 ? endIndex : 0;
result = str.Substring(0,endIndex);
于 2012-09-07T15:42:32.033 に答える
2

パス部分のみを使用したい場合

string result = Path.GetDirectoryName(inputName);

パスではなくファイル名が必要な場合

string result = Path.GetFileName(inputName);

また、スラッシュを使用しているようです。上記の方法では、オペレーティングシステムに適したフォルダセパレータ(スラッシュまたはバックスラッシュ)が出力に表示されます。

于 2012-09-07T15:38:55.733 に答える