Как удалить все ведущие нули в строке

Если у меня есть строка

00020300504 00000234892839 000239074 

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

 20300504 234892839 239074 

обратите внимание, что число, указанное выше, генерировалось случайным образом.

  • No related posts
  • 8 responses to “Как удалить все ведущие нули в строке”

      Энтони Кал said:

      ltrim :

       $str = ltrim($str, '0'); 
      Будет said:
       (string)((int)"00000234892839") 
      Набел-хан said:

      Подобно другому предложению, за исключением того, что не уничтожит фактический ноль:

       if (ltrim($str, '0') != '') { $str = ltrim($str, '0'); } else { $str = '0'; } 
      Elcast said:

      Не знаю, почему люди используют такие сложные методы для достижения такой простой вещи! И регулярное выражение? Вау!

      Здесь вы найдете самый простой и простой способ (как описано здесь: https://nabtron.com/kiss-code/ ):

       $a = '000000000000001'; $a += 0; echo $a; // will output 1 
      Джеральд said:

      вы можете добавить «+» в свою переменную,

      пример :

       $numString = "0000001123000"; echo +$numString; 
      Майк Вейр said:

      Я не думаю, что preg_replace – это ответ .. старая ветка, но просто случиться с этим сегодня. Литература ltrim и (int) является победителем.

       <?php $numString = "0000001123000"; $actualInt = "1123000"; $fixed_str1 = preg_replace('/000+/','',$numString); $fixed_str2 = ltrim($numString, '0'); $fixed_str3 = (int)$numString; echo $numString . " Original"; echo "<br>"; echo $fixed_str1 . " Fix1"; echo "<br>"; echo $fixed_str2 . " Fix2"; echo "<br>"; echo $fixed_str3 . " Fix3"; echo "<br>"; echo $actualInt . " Actual integer in string"; //output 0000001123000 Origina 1123 Fix1 1123000 Fix2 1123000 Fix3 1123000 Actual integer in tring 
      Энтони Кал said:

      Regex был предложен уже, но не правильно:

       <?php $number = '00000004523423400023402340240'; $withoutLeadingZeroes = preg_replace('/^0+/', $number) echo $withoutLeadingZeroes; ?> 

      выход:

       4523423400023402340240 

      Справочная информация по регулярному выражению: сигналы ^ начала строки и знак + сигнализируют больше или ни один из предшествующих знаков. Поэтому regex ^0+ соответствует всем нулям в начале строки.

      Фууджин said:

      Предполагая, что вы хотите удалить три или более нулей, а ваш пример – одна строка:

        $test_str ="0002030050400000234892839000239074"; $fixed_str = preg_replace('/000+/','',$test_str); 

      Вы можете сделать шаблон регулярного выражения подходящим, что вам нужно, если мои предположения не работают.

      Эта помощь?

    PHP is the Best Programming Language in the world.