好的,如果我有一個字符串是一個完整的文件路徑,如"Folder/New Folder/test.csv"
。我如何獲得/'s
之間的所有內容?所以得到"New Folder"
。如何獲取Ruby中兩個字符之間的字符串?
謝謝!
好的,如果我有一個字符串是一個完整的文件路徑,如"Folder/New Folder/test.csv"
。我如何獲得/'s
之間的所有內容?所以得到"New Folder"
。如何獲取Ruby中兩個字符之間的字符串?
謝謝!
只是做
File.dirname("Folder/New Folder/test.csv").split('/')[-1]
# => "New Folder"
如果你想使用正則表達式:
input = "Folder/New Folder/test.csv"
print input.scan(/\/(.*)\//).flatten
爲此,您可以輕鬆地使用正則表達式。請注意,這將產生第一個和第二個/
之間的任何內容。所以如果你的字符串是"some/longer/path/than/original"
,它會產生"longer"
。
path = "Folder/New Folder/test.csv"
p path[%r{/([^/]+)/}, 1]
# => "New Folder"
我對你感到嫉妒,因爲你非常擅長* Regex * ..我不是。 :p –
無需使用正則表達式在所有...
> File.basename(File.dirname("Folder/New Folder/test.csv"))
=> "New Folder"
你不一定必須使用正則表達式來完成這項任務。
字符串分割
path = "Folder/New Folder/test.csv"
puts path.split('/')[1]
文件操作
path = File.dirname("Folder/New Folder/test.csv")
puts File.basename(path)
正則表達式
path = "Folder/New Folder/test.csv"
puts path.scan(/\/(.*)\//)[0]
使用任何這些方法,你會得到下面的輸出:
#=> New Folder
http://stackoverflow.com/questions/1370988/does-ruby-have-the-ability-to-split-a-directory-string,HTTP ://stackoverflow.com/questions/7169923/parsing-string-pathname-with-ruby – user2864740