我想使用兩個數組來改變字符串中的字符。第一個數組將具有原始字符,第二個數組將具有替換字符。用兩個數組替換字符串中的字符
original = ["a", "b", "c"]
replacements = ["x", "y", "z"]
text = "a xx b xx c"
# New string should be "x xx y xx z"
有沒有一種簡單的方法在Ruby中做到這一點?
我想使用兩個數組來改變字符串中的字符。第一個數組將具有原始字符,第二個數組將具有替換字符。用兩個數組替換字符串中的字符
original = ["a", "b", "c"]
replacements = ["x", "y", "z"]
text = "a xx b xx c"
# New string should be "x xx y xx z"
有沒有一種簡單的方法在Ruby中做到這一點?
你會使用String#tr
做替代,並且Array#join
把你的數組轉換爲字符串,這是什麼String#tr
預計作爲參數。
new_text = text.tr(original.join, replacements.join)
看看在String#tr
方法http://ruby-doc.org/core-1.9.3/String.html#method-i-tr
original = ["/", ".", ",", "|"]
replacements = ["_", "_", "_", "__"]
i = 0
original.each do |char|
text.scan(char).size.times do
text.sub!(char, replacements[i])
end
i = i+1
end
嗨@alex!他認爲這很好。但在這種情況下,「text =」[A]和[B]「','original = [」[A]「,」[B]「,」[C]「,」[D]「, ]「]',''replacements = [」[B]「,」[C]「,」[D]「,」[E]「,」[Bb]「]'如何將' 「[B]和[C]」' –