Ruby 将不可打印的字符转换为数字

2024-04-27

我有一个包含不可打印字符的字符串。

我目前正在做的是将它们替换为波浪号,使用:

string.gsub!(/^[:print:]]/, "~")

但是,我实际上想将它们转换为整数值。

我尝试了这个,但它总是输出0

string.gsub!(/[^[:print:]]/, "#{$1.to_i}")

想法?


字符串#gsub http://ruby-doc.org/core-2.0/String.html#method-i-gsub, 字符串#gsub! http://ruby-doc.org/core-2.0/String.html#method-i-gsub-21接受可选块。块的返回值用于替换。

"\x01Hello\x02".gsub(/[^[:print:]]/) { |x| x.ord }
# => "1Hello2"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 将不可打印的字符转换为数字 的相关文章

随机推荐