input = AA-AA-AA-AA-AA-AA
どうすれば
- 奇数 (1 回目、3 回目、5 回目) の発生を次のように置き換えます
:
- 偶数 (2 回目、4 回目) のオカレンスを置き換えます
.
input = AA-AA-AA-AA-AA-AA
どうすれば
:
.
input.gsub("-").with_index(1){|_, i| i.odd? ? ":" : "."}
# => "AA:AA.AA:AA.AA:AA"
これが1つの方法ですが、おそらく探しているワンライナーではありません。
input = 'AA-AA-AA-AA-AA-AA'
input.count('-').times do |i|
replacement = i.even? ? ':' : '.'
input.sub!('-', replacement)
end
input
# => "AA:AA.AA:AA.AA:AA"
input = "AA-AA-AA-AA-AA-AA".gsub("AA-AA", ":-.")
多分?
count= 0
input.gsub!(/\-/) do |s|
count+= 1; s= count% 2== 0 ? '.' : ':'
end