arrays - Remove leading zeros Ruby -
i want remove leading zeros number.i want use integer(i)
instead of i.to_i
in order rescue nil.
"011,12,h,013,14".split(",").map{|i| integer rescue nil}
i want get:
[11,12,nil,13,14]
instead this:
[9, 12, nil, 11, 14]
what problem?
from documentation of kernel#integer
:
integer(arg, base=0) → integer
[…] if arg
string
, when base omitted or equals zero, radix indicators (0
,0b
, ,0x
) honored. […]
you're omitting base leading 0
in strings means base-8 (or octal) used conversion integers. integer literals work same way (011 == 9
yields true
). if prefixes/radix indicators shouldn't honored , integers represented strings should treated base-10 (or decimal) one, pass 10
base:
"011,12,h,013,14".split(",").map{|i| integer(i, 10) rescue nil} # => [11, 12, nil, 13, 14]
Comments
Post a Comment