Ruby, ottenendo il percorso da percorso + nome file


88

Linguaggio di programmazione: Ruby 1.9

Stringa problema: C:/Test/blah.txt
aC:/Test/

So che è una domanda facile, ma Google e il quickref di Ruby Filenon hanno una soluzione per me.
E non ho esperienza con Regex.

Risposte:


171

Usa il File.dirnamemetodo Ruby .

File.dirname("C:/Test/blah.txt")
# => "C:/Test" 

4
Per me, File.dirname("/a/b/c/d")restituisce correttamente /a/b/cma File.dirname("/a/b/c/d/")(slash) anche i rendimenti /a/b/c.
Jason

3
Ci sono troppe informazioni senza contesto nei documenti di ruby ​​per trovare ~ esattamente ~ quello che stai cercando al momento. Ottimo per rispolverare se lo sapevi già o studiare se stai cercando di sapere tutto, orribile se sei su un progetto e hai solo bisogno di sapere questa cosa. Grazie mille per questa risposta, mi ha reso la vita molto più facile.
JackChance

0

Più versatile sarebbe la classe Ruby Pathname:

require 'pathname'

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

che dà C:/Test/.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.