我该怎么做反向to_i?

时间:2017-12-08 19:44:49

标签: ruby string parsing integer

我正在使用Ruby 2.4。如果我的字符串开头有数字,我可以通过

获取整数值
2.4.0 :003 >   s = "13s"
 => "13s"
2.4.0 :004 > s.to_i
 => 13

但是,如果数字位于字符串末尾,如何将数字作为整数?例如,在

s13

我在字符串的末尾有“13”,但显然,.to_i不会提取...

2.4.0 :005 > s = "s13"
 => "s13"
2.4.0 :006 > s.to_i
 => 0

提取字符串结尾的数字部分的一般方法是什么?如果字符串是

abcd

我希望数字部分只是零。

1 个答案:

答案 0 :(得分:3)

一个解决方案就是这个

"s13".reverse.to_i.to_s.reverse

或从字符串末尾提取数字

"s13"[/\d+\z/]