2011-09-19 110 views
0

確定這是相當尷尬,但我有這個字符串:如何使用正則表達式gsub這個字符串?

>> t1 
=> ["name: Big Lebowski\n"] 

然後我想用""

>> t2 = t1.collect{|n| n.gsub("/^name.*$/", "")} 
=> ["name: Big Lebowski\n"] 

我得到同樣的事情來代替整條生產線。是什麼賦予了?

回答

3

你已經把你的正則表達式放在一個字符串中,這顯然不起作用。

>> t2 = t1.collect{|n| n.gsub(/^name.*$/, "")} 
=> ["\n"] 

如果你也想擺脫換行,請使用正則表達式m修改。

>> t2 = t1.collect{|n| n.gsub(/^name.*$/m, "")} 
=> [""] 
-3

這是因爲你在使用「gsub」而不是「gsub!」 - 最後一個修改目標。試試:

t2 = t1.collect{|n| n.gsub!("/^name.*$/", "")} 
+0

爲什麼我需要轟炸它,如果我將它添加到另一個變量? – Simpleton

+0

這不是原因,但該OP使用字符串而不是正則表達式。 –

+0

對不起,錯過了 – Filip

相關問題