2010-10-31 47 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("_"," ") }