在Ruby中链接字符串方法(split,gsub)

时间:2010-10-31 14:37:41

标签: ruby string

我想在一个链式命令中拆分并在字符串中进行替换。 这是我的示例,包括错误消息:

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

当我将“split”的结果保存在临时变量中时,它可以正常工作。我真的需要吗?

2 个答案:

答案 0 :(得分:5)

String#split会返回ArrayArray没有gsub方法。

目前尚不清楚你在尝试实现的目标是什么。这是你在找什么?

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

答案 1 :(得分:0)

您可以使用地图或收集:

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