2017-04-20 64 views
-1

如何提取此字符串(RUBY)如何提取字符串(紅寶石)值

str = "rgba(255, 0, 0, 0.5)" 

我的期望。

r= 255 
g= 0 
b= 0 
alpha= 0.5 
+3

請閱讀「[問]」包括鏈接的網頁,「[MCVE]」和「[多少研究工作,預計堆棧溢出的用戶?](http://meta.stackoverflow.com/questions/261592)」。我們希望看到你的努力的證據。你嘗試了什麼?你搜索並沒有找到任何東西?你有沒有找到東西,但它沒有幫助?你有沒有嘗試寫代碼?如果不是,爲什麼?如果是這樣,那麼最小的代碼示例顯示了您嘗試的內容以及它爲什麼不起作用?沒有它,看起來你沒有嘗試並希望我們爲你寫信。 –

回答

1

scan有一個微小的正則表達式是您的朋友:

r, g, b, alpha = "rgba(255, 0, 0, 0.5)".scan(/[\d.]+/) 
r # => "255" 
g # => "0" 
b # => "0" 
alpha # => "0.5" 

它是如何工作的,你要弄清楚剩下來。 scan文檔將幫助您和Regexp文檔一樣。

0

這可能是你想要的。

r,g,b,alpha = str.match(/\((.+)\)/)[1].split(",").map(&:to_f)