我期待在Ruby的更換:http://www.ruby-doc.org/core/classes/String.html#M001144Ruby的替換工作如何?
它似乎沒有道理給我,你叫替換它取代整個字符串。
我期待:
replace(old_value, new_value)
就是我要找GSUB呢?
替換似乎與其他大多數語言不同。
我期待在Ruby的更換:http://www.ruby-doc.org/core/classes/String.html#M001144Ruby的替換工作如何?
它似乎沒有道理給我,你叫替換它取代整個字符串。
我期待:
replace(old_value, new_value)
就是我要找GSUB呢?
替換似乎與其他大多數語言不同。
是的,它是gsub
,它取自awk語法。我猜replace
代表字符串的內部表示,因爲根據文檔,被污染的東西也被刪除了。
我想你覺得replace
沒有意義的原因是因爲有分配運算符=
(與gsub
沒有多大關係)。
重要的一點是String
實例是可變對象。通過使用replace
,您可以更改字符串的內容,同時保留其身份作爲對象。比較:
a = 'Hello' # => 'Hello'
a.object_id # => 84793190
a.replace('World') # => 'World'
a.object_id # => 84793190
a = 'World' # => 'World'
a.object_id # => 84768100
請參閱replace
沒有改變String對象的ID,而簡單的任務做了更改。這種差異有一些後果。例如,假設您爲字符串實例分配了一些實例變量。通過replace
,該信息將被保留,但如果您只將相同的變量分配給不同的字符串,則所有信息都將消失。
好吧,現在我明白了,謝謝! – Blankman 2011-04-06 03:10:35
我已經標記了-1因爲你已經得到了答案,你已經知道API文檔在哪裏,顯然,你甚至知道如何閱讀它們。那麼問題是什麼?這不是標題所說的,「Ruby如何取代工作?」問題可能是「我真的需要一個簡單的替換正則表達式嗎?」或者...不確定。 – 2011-04-06 02:41:47
+1,因爲我認爲它不值得讚揚。這不是一個不明確的問題,它不是垃圾郵件,它不是無關緊要的。 – 2011-04-06 02:43:01