Подтвердить что ты не робот

Проверить номер и удалить начальные нули

Я хочу проверить переменную в ruby, чтобы увидеть, имеет ли она два ведущих нуля (00). Если это нужно сделать 00,

Как это можно сделать

4b9b3361

Ответ 1

Если вы говорите о строках:

str.sub!(/^00/, "")

Регулярное выражение /^00/ соответствует, если строка начинается с двух нулей. sub! затем возьмет совпадение (два нуля) и заменит их пустой строкой.

Ответ 2

Очень легко преобразовать в целое число и преобразовать обратно в строку:

irb(main):007:0> s="009" ; s.to_i.to_s
=> "9"
irb(main):008:0> s="004" ; s.to_i.to_s
=> "4"
irb(main):009:0> s="00999" ; s.to_i.to_s
=> "999"

или, для float:

irb(main):003:0> s="000.45" ; s.to_f.to_s
=> "0.45"

Ответ 3

OP явно попросил удалить два нуля, но примечание для других, которые заинтересованы в удалении всех ведущих нулей и могут быть не столь сильными в регулярных выражениях, вы можете сделать это вместо этого:

str.sub!(/^[0]+/,'')

Символ + применяется к 1 или более.