RUBY 字符串格式转换4
发布网友
发布时间:2023-10-10 16:26
我来回答
共1个回答
热心网友
时间:2024-11-17 10:31
好了 首先是第一步转成16进制:
icon = "22 12 41 2 1 8 43 211 42"
# => "22 12 41 2 1 8 43 211 42"
icon.split.map {|i| i.to_i.to_s(16) }
# => ["16", "c", "29", "2", "1", "8", "2b", "d3", "2a"]
然后是你说的格式化(不太明白你的意思,不知道是不是个位数前面要补0的意思):
icon.split.map {|i| i.to_i.to_s(16) }.map { |s| s.size == 1 ? s.insert(0, "0") : s}
# => ["16", "0c", "29", "02", "01", "08", "2b", "d3", "2a"]
最后拼起来:
icon.split.map {|i| i.to_i.to_s(16) }.map { |s| s.size == 1 ? s.insert(0, "0") : s}.join
=> "160c290201082bd32a"