首页 > 解决方案 > 如何将字符从字符串的右移到左

问题描述

我需要将两个字符串的字符从左到右移动。一个示例输入是:

"D21635D486450000C1"

预期的输出是:

"C100004586D43516D2"

任何帮助是极大的赞赏。

到目前为止我有这个:

str = "D21635D486450000C1"
str.length.times do |i|
 str.insert(i, str[-2-i])
end
puts str

标签: rubystringreversemove

解决方案


"D21635D486450000C1".chars.each_slice(2).to_a.reverse.join
#⇒ "C100004586D43516D2"

join(' ')在最后一步使用在切片之间留有空格或其他任何内容。


还:

str = "D21635D486450000C1"
(0..str.length-1).step(2).map { |i| [str[-i-2], str[-i-1]] }.join
#⇒ "C100004586D43516D2"

推荐阅读