我想在一个链式命令中拆分并在字符串中进行替换。 这是我的示例,包括错误消息:
>> filebase
=> "Ueki_-_Hello_World"
>> filebase.split("_-_").gsub("_"," ")
NoMethodError: private method `gsub' called for ["Ueki", "Hello_World"]:Array
from (irb):16
当我将“split”的结果保存在临时变量中时,它可以正常工作。我真的需要吗?
答案 0 :(得分:5)
String#split
会返回Array
。 Array
没有gsub
方法。
目前尚不清楚你在尝试实现的目标是什么。这是你在找什么?
filebase.split("_-_").map {|s| s.gsub("_"," ") }
答案 1 :(得分:0)
您可以使用地图或收集:
filebase.split("_-_").map {|s| s.gsub("_"," ") }
filebase.split("_-_").collect {|s| s.gsub("_"," ") }