Wie alle Verzeichnisse in String-PfadWie finden Sie alle Verzeichnisse in bestimmten Pfad in Ruby?
EX
tmp/guava/metadata/en-US/images/icon.png
ich möchte Liste
- en-US
- Bilder
Wie alle Verzeichnisse in String-PfadWie finden Sie alle Verzeichnisse in bestimmten Pfad in Ruby?
EX
tmp/guava/metadata/en-US/images/icon.png
ich möchte Liste
Kombinieren String#split
mit File.dirname
:
path = "tmp/guava/metadata/en-US/images/icon.png"
parts = File.dirname(path).split('/')
# => ["tmp", "guava", "metadata", "en-US", "images"]
parts.last(2)
# => ["en-US", "images"]
Sie split
verwenden können, finden Methode
str = 'tmp/guava/metadata/en-US/images/icon.png'
str.split('/')[3]
#=> 'en-US'
str.split('/')[4]
#=> 'images'
Wenn Sie auflisten möchten alles, was Sie so etwas tun kann:
str.split('/').each { |el| puts "#{el} \n" }
#tmp
#guava
#metadata
#en-US
#images
#icon.png
Was ist der Grund, hier 'File.dirname' zu benutzen? "tmp/guava/metadata/de-DE/images/icon.png" .split ('/') [- 3 ...- 1] 'würde tun. – mudasobwa
@mudasobwa Es ist eher eine portable Lösung, da Windows ziemlich wackelig werden kann. 'File.split' zieht nur einen Teil nach dem anderen ab oder ich empfehle das zu verwenden. – tadman