[過去ログ] 【ゲームエンジン】Unityなんでも質問スレpart16 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
467: 名前は開発中のものです。 [] 2025/03/18(火) 20:43:08.35 ID:2C3TH5ss(1/3) AAS
>>466
466(1): 名前は開発中のものです。 [sage] 2025/03/18(火) 20:26:15.96 ID:KSYQbbOt(1/2) AAS
>>464
そんな面倒なことしなくてもGetFileNameとかでいけるのでは?
パス操作でSplit使うのは最終手段
GetFileNameだとhoga.txtが取れてしまう
fugaの部分だけを取りたいなら回りくどいけど>>464
464(3): 名前は開発中のものです。 [] 2025/03/18(火) 19:04:36.79 ID:UdWYMzyu(1/2) AAS
>>462
いや、
 string filePath = @"C:\hoge\fuga\hoga.txt";
に対してPath.GetDirectoryName(filePath)すると
 @"C:\hoge\fuga"
が取れる
>>461が欲しがってるのはfugaの部分だけじゃない?

/と\が混在してる場合を考慮して
 string filePathSplited = Path.GetDirectoryName(filePath).Replace("/", "\\").Split('\\');
 string dirName = filePathSplited[filePathSplited.Length - 1];
あるいはSystem.Linqを使えば
 filePath.Replace("/", "\\").Split('\\').Last();
の方法くらいしか思いつかん・・・
468: 名前は開発中のものです。 [] 2025/03/18(火) 20:44:59.12 ID:2C3TH5ss(2/3) AAS
もっとキモい話になるけど、Path.GetDirectoryNameはディレクトリパスだけを返してくれる便利な魔法の関数などではなく
 \または/で区切って最後の部分を除外した文字列を返す("C:\hoge\fuga\hoga.txt"→"C:\hoge\fuga")
だけで、Path.GetFileNameも同じく
 \または/で区切って最後の部分のみ返す("C:\hoge\fuga\hoga.txt"→"hoga.txt")
だけなので、理論的には
 Path.GetFileName(Path.GetDirectoryName("C:\hoge\fuga\hoga.txt"))
でfugaの部分を取れるっちゃ取れる

でも流石にコレはキモすぎるから>>464かなあ、正直微妙だけど
470: 名前は開発中のものです。 [] 2025/03/18(火) 20:54:32.14 ID:2C3TH5ss(3/3) AAS
>>469
469(1): 名前は開発中のものです。 [] 2025/03/18(火) 20:45:44.30 ID:d603JaOd(1) AAS
DirectoryInfoとか
string filePath = @"C:/hoge/fuga/hoga.txt";
DirectoryInfo di = new DirectoryInfo(filePath);
Console.WriteLine ($"di.Name={di.Name}");
Console.WriteLine ($"di.FullName={di.FullName}");
Console.WriteLine ($"di.Parent.Name={di.Parent.Name}"); // これでfuga取れたわ
Console.WriteLine ($"di.Parent.FullName={di.Parent.FullName}");
三月
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.043s