Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何将字符从字符串的右向左移动_Ruby_String_Reverse_Move - Fatal编程技术网

Ruby 如何将字符从字符串的右向左移动

Ruby 如何将字符从字符串的右向左移动,ruby,string,reverse,move,Ruby,String,Reverse,Move,我需要以两个字符的组合从字符串的左向右移动字符。输入示例如下: "D21635D486450000C1" 这方面的预期产出是: "C100004586D43516D2" 非常感谢您的帮助 到目前为止,我有: str = "D21635D486450000C1" str.length.times do |i| str.insert(i, str[-2-i]) end puts str 或者在最后一步中使用join(“”),以在片之间留有空格或其他内容 此外: 或者在最后一步中使用join

我需要以两个字符的组合从字符串的左向右移动字符。输入示例如下:

"D21635D486450000C1"
这方面的预期产出是:

"C100004586D43516D2"
非常感谢您的帮助

到目前为止,我有:

str = "D21635D486450000C1"
str.length.times do |i|
 str.insert(i, str[-2-i])
end
puts str
或者在最后一步中使用
join(“”)
,以在片之间留有空格或其他内容


此外:

或者在最后一步中使用
join(“”)
,以在片之间留有空格或其他内容


此外:


你想干什么?你能提供更多的细节吗?不太清楚,所以这是我的字符串“D21635D486450000C1”,我只需要将它以两个组合的形式反转,我将把字符串分隔成两个,这样你就知道了。基本上需要像这样,但没有空格,我只是给你们看c100 00 45 86 D4 35 16 D2Ah我明白你们的意思了,你们想做什么?你能提供更多的细节吗?不太清楚,所以这是我的字符串“D21635D486450000C1”,我只需要将它以两个组合的形式反转,我将把字符串分隔成两个,这样你就知道了。基本上需要像这样,但没有空格,我只是给你们看C1 00 00 45 86 D4 35 16 D2Ah我明白你们的意思了
"D21635D486450000C1"
.reverse.gsub(/(.)(.)/, '\2\1')
#=> "C100004586D43516D2"

"D21635D486450000C1"
.reverse.gsub(/../, &:reverse)
#=> "C100004586D43516D2"
"D21635D486450000C1".scan(/.{1,2}/).reverse.join
#=> "C100004586D43516D2"
"D21635D486450000C1".chars.each_slice(2).to_a.reverse.join
#⇒ "C100004586D43516D2"
str = "D21635D486450000C1"
(0..str.length-1).step(2).map { |i| [str[-i-2], str[-i-1]] }.join
#⇒ "C100004586D43516D2"