Проверить номер и удалить начальные нули Я хочу проверить переменную в ruby, чтобы увидеть, имеет ли она два ведущих нуля (00). Если это нужно сделать 00, Как это можно сделать Ответ 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 или более.
Ответ 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 или более.