Ruby, Pfad von Pfad + Dateiname abrufen

87

Programmiersprache: Ruby 1.9

Problem String: C:/Test/blah.txt
bisC:/Test/

Ich weiß, dass es eine einfache Frage ist, aber Google und der Ruby Quickref für Filehaben keine Lösung für mich.
Und ich habe keine Erfahrung mit Regex.

Onetimeposter123
quelle

Antworten:

168

Verwenden Sie die Ruby- File.dirnameMethode.

File.dirname("C:/Test/blah.txt")
# => "C:/Test" 
Simone Carletti
quelle
4
Für mich File.dirname("/a/b/c/d")kehrt korrekt zurück, /a/b/caber File.dirname("/a/b/c/d/")(abschließender Schrägstrich) kehrt auch zurück /a/b/c.
Jason
3
Es gibt einfach zu viele Informationen ohne Kontext in den Ruby-Dokumenten, um genau das zu finden, wonach Sie gerade suchen. Großartig, um aufzufrischen, wenn Sie es bereits gewusst haben, oder zu studieren, wenn Sie versuchen, alles zu wissen, schrecklich, wenn Sie an einem Projekt arbeiten und nur diese eine Sache wissen müssen. Vielen Dank für diese Antwort, die mir das Leben sehr erleichtert hat.
JackChance
0

Vielseitiger wäre die Ruby Pathname-Klasse:

require 'pathname'

pn = Pathname.new("C:/Test/blah.txt")
p pn.dirname.to_s + Pathname::SEPARATOR_LIST

was gibt C:/Test/.

Twonky
quelle