文字列内のすべての数値を16進数に変換しようとしています。私はこのコードを試しました:
str.gsub(/(\d+)/, '\1'.to_i.to_s(16))
ただし、これは、を置き換える数値ではなく0
文字列'\1'
を変更するため、すべての数値をに置き換え\1
ます。
どうすればこれを正しく行うことができgsub
ますか?
String#gsub
ブロックを受け入れます。ブロックの戻り値は、置換値として使用されます。
>> str = '100 200'
=> "100 200"
>> str.gsub(/\d+/) { |x| x.to_i.to_s(16) }
=> "64 c8"
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加