Ruby รับเส้นทางจาก path + ชื่อไฟล์


88

ภาษาโปรแกรม: Ruby 1.9

สตริงปัญหา: C:/Test/blah.txt
ถึงC:/Test/

ฉันรู้ว่ามันเป็นคำถามที่ง่าย แต่ Google และ Ruby Quickref Fileไม่มีคำตอบสำหรับฉัน
และฉันไม่มีประสบการณ์กับ Regex

คำตอบ:


171

ใช้File.dirnameวิธีRuby

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

4
สำหรับผมFile.dirname("/a/b/c/d")อย่างถูกต้องส่งกลับ/a/b/cแต่File.dirname("/a/b/c/d/")(ต่อท้ายเฉือน) นอกจากนี้ยังมี/a/b/cผลตอบแทน
Jason

3
มีข้อมูลมากเกินไปโดยไม่มีบริบทในเอกสารทับทิมที่จะค้นหา ~ ตรงกับสิ่งที่คุณกำลังมองหาในขณะนี้ เยี่ยมมากถ้าคุณรู้แล้วหรือศึกษาหากคุณกำลังพยายามที่จะรู้ทุกอย่างแย่มากถ้าคุณอยู่ในโครงการและเพียงแค่ต้องรู้สิ่งนี้ ขอบคุณมากสำหรับคำตอบนี้ทำให้ชีวิตง่ายขึ้นมากสำหรับฉัน
JackChance

0

มีความหลากหลายมากขึ้นคือคลาส Ruby Pathname:

require 'pathname'

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

C:/Test/ซึ่งจะช่วยให้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.