как эффективно обрезать заполняющие нули в строке

#string #language-agnostic

#строка #не зависит от языка

Вопрос:

например, у меня есть строка ввода «1.2.3.4.0.0», вывод «1.2.3.4» или другой ввод «1.2.0.3.4.0», вывод «1.2.0.3.4»

… какой наиболее эффективный и элегантный способ сделать это? Спасибо!

Комментарии:

1. Какой язык программирования вы используете?

2. На каком языке программирования?

3. Что вы хотите, чтобы следующее было усечено до: a) «0» b) «0.0» c) «.0» d) «…» e) «1 … 000 000.»?

Ответ №1:

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

 (.0) $
  

ничем.

Комментарии:

1. Это намного полезнее, чем то, что я ответил. Удаляю мой и голосую за это.

Ответ №2:

Вы можете использовать этот алгоритм:

 while last character is "0" do
    remove last character
    if last character is "." then
        remove last character
    endif
endwhile
  

Ответ №3:

 while string endswith ".0"
    string efficientlyRemoveLastTwoCharacters
  

Это очень эффективно (я надеюсь, что все поняли шутку).

Более эффективная реализация не может зависеть от языка.