当前位置 : 主页 > 编程语言 > ruby >

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

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一个不可打印字符的字符串. 我目前正在做的是使用波形符替换它们: string.gsub!(/^[:print:]]/, "~") 但是,我实际上想将它们转换为整数值. 我尝试了这个,但它总是输出0 string.gsub!(/[^[:
我有一个不可打印字符的字符串.

我目前正在做的是使用波形符替换它们:

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

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

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

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

思考?

String#gsub, String#gsub!接受可选块.块的返回值用于替换.

"\x01Hello\x02".gsub(/[^[:print:]]/) { |x| x.ord }
# => "1Hello2"
网友评论