2010-10-31 46 views
0

我想拆分並在一個鏈接命令中對字符串進行替換。 這裏是我的示例包括錯誤消息:在Ruby中鏈接字符串方法(拆分,gsub)

>> filebase 
=> "Ueki_-_Hello_World" 
>> filebase.split("_-_").gsub("_"," ") 
NoMethodError: private method `gsub' called for ["Ueki", "Hello_World"]:Array 
    from (irb):16 

它的工作原理,當我保存在一個臨時變量「分裂」的結果。我真的需要嗎?

回答

5

String#split返回ArrayArray s沒有gsub方法。

目前尚不清楚你試圖達到的目標。這是你想要的?

filebase.split("_-_").map {|s| s.gsub("_"," ") } 
+0

哦,是的,你是對的。非常感謝! – Bernd 2010-10-31 14:44:38

+1

爲了技術上的原因,它沒有公共的'gsub'方法,只是一個私人的類似關鍵字的用法。 – 2010-10-31 22:56:15

+1

爲了更加技術性,'Kernel'有一個私有'gsub'方法,''''繼承。 – 2011-10-21 18:40:16

0

您可以使用地圖或收集:

filebase.split("_-_").map {|s| s.gsub("_"," ") } 
filebase.split("_-_").collect {|s| s.gsub("_"," ") }