2013-09-23 32 views
0

如何在許多零件上切割線。我有串狀:許多零件上的切割線

@abc = 'http://somesite.com/abcdrer/media/picture/abc.jpb' 

,我知道我能做到:

@str = @abc.index('/media') 

所以這將返回指標,其中 「/媒體」 開始(右?)。現在我必須刪除索引從0到由@str返回的索引。我怎樣才能從字符串中刪除選擇的索引?

+4

? ' 「/media/picture/abc.jpb」'? –

+0

我想刪除「/ media」之前的所有內容。 – Wordica

回答

2
@abc = 'http://somesite.com/abcdrer/media/picture/abc.jpb' 
@abc.slice(@abc.index("/media"), @abc.length) 
#=> "/media/picture/abc.jpb" 
-1

分割字符串,並得到該數組的最後一個元素:

@str = @abc.split("/media").last 
+0

OP希望從「/ media」開始到最後。這會返回「/picture/abc.jpb」。 –

1

正則表達式會在這裏做的更好。它從/媒體需要到結束(0索引「被刪除」)

@str = @abc[/\/media.*$/] 
+3

'$'是多餘的。 – sawa

+2

使用%r創建您的正則表達式而不是裸/。這將幫助您避免「傾斜牙籤綜合徵」:'%r {/ media。* $}'。而且,正如@sawa所說,'$'是多餘的,使得:'%r {/ media。*}'。 –

3

您可以使用正則表達式:你到底要輸出是什麼

@str = @abc[%r{/media.+}] 
=> "/media/picture/abc.jpb" 
+3

使用'%r'來創建正則表達式而不是裸'/'。這將幫助您避免「傾斜牙籤綜合徵」:'%r {/ media。+}'。 –

+0

正式讚賞和納入。 – depa