2012-10-24 51 views

回答

0

請試試這個:

"/var/www/project/data/path/to/file.mp3".scan(/\/var\/www(\/.+)*/) 

它應該返回你所有出現。

string = '/var/www/project/data/path/to/file.mp3' 

path = string[/\/data.*/] 

puts path 
=> /data/path/to/file.mp3 
+0

這不起作用。 –

+0

是用於雙反斜槓 – QuarK

5
'/var/www/project/data/path/to/file.mp3'.match(/\/data.*/)[0] 
=> "/data/path/to/file.mp3" 
+4

這可以簡化爲:''/var/www/project/data/path/to/file.mp3'[%r [(/data.*)],1]' –

+0

@TheTinMan ,很酷的事情,甚至不能認爲這是可能的 – megas

3

可能是一樣容易。雖然我不熟悉ruby,但我認爲ruby應該有一些像「substring()」(可能是ruby中的別名)的函數。

這裏是一個演示通過使用javascript:

var str = "/var/www/project/data/path/to/file.mp3"; 
var startIndex = str.indexOf("/data"); 
var result = str.substring(startIndex); 

而上的jsfiddle demo

的鏈接,我認爲在Ruby中的代碼是相似的,你可以查看文檔。希望這是有幫助的。

1

使用正則表達式是一個好辦法:爲

相關問題