-1
input = AA-AA-AA-AA-AA-AA

どうすれば

  • 奇数 (1 回目、3 回目、5 回目) の発生を次のように置き換えます:
  • 偶数 (2 回目、4 回目) のオカレンスを置き換えます.
4

4 に答える 4

5
input.gsub("-").with_index(1){|_, i| i.odd? ? ":" : "."}
# => "AA:AA.AA:AA.AA:AA"
于 2012-12-19T07:11:18.603 に答える
1

これが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"
于 2012-12-19T07:06:43.113 に答える
0
input = "AA-AA-AA-AA-AA-AA".gsub("AA-AA", ":-.")

多分?

于 2012-12-19T07:12:10.920 に答える
0
count= 0
input.gsub!(/\-/) do |s|
  count+= 1; s= count% 2== 0 ? '.' : ':'
end
于 2012-12-19T07:14:14.070 に答える