好的,这是相当尴尬但我有这个字符串:
>> t1
=> ["name: Big Lebowski\n"]
然后我想用""
>> t2 = t1.collect{|n| n.gsub("/^name.*$/", "")}
=> ["name: Big Lebowski\n"]
我得到同样的东西。是什么给了什么?
答案 0 :(得分:3)
您已将正则表达式放在字符串中,这显然不起作用。
>> t2 = t1.collect{|n| n.gsub(/^name.*$/, "")}
=> ["\n"]
如果您还想删除换行符,请使用m
正则表达式修饰符。
>> t2 = t1.collect{|n| n.gsub(/^name.*$/m, "")}
=> [""]
答案 1 :(得分:-3)
那是因为你在你的块中使用“gsub”而不是“gsub!” - 最后一个修改目标。尝试:
t2 = t1.collect{|n| n.gsub!("/^name.*$/", "")}