如何删除字符串中的所有前导零

时间:2011-02-23 23:34:16

标签: php string

如果我有一个字符串

00020300504
00000234892839
000239074

如何摆脱前导零,以便我只有这个

20300504
234892839
239074

请注意,上面的数字是随机生成的。

10 个答案:

答案 0 :(得分:422)

ltrim

$str = ltrim($str, '0');

答案 1 :(得分:10)

(string)((int)"00000234892839")

答案 2 :(得分:9)

不知道为什么人们使用如此复杂的方法来实现这么简单的事情!和正则表达式?哇!

在这里,您可以采用最简单最简单的方式(如下所述:https://nabtron.com/kiss-code/):

$a = '000000000000001';
$a += 0;

echo $a; // will output 1

答案 3 :(得分:8)

与另一个建议类似,除了不会删除实际的零:

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

答案 4 :(得分:6)

你可以添加" +"在你的变量中,

示例:

$numString = "0000001123000";
echo +$numString;

答案 5 :(得分:3)

正在提出正则表达式,但不正确:

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

输出:

4523423400023402340240

正则表达式背景: ^信号开头的+信号和^0+符号表示更多或没有前面的符号。因此,正则表达式{{1}}匹配字符串开头的所有零。

答案 6 :(得分:2)

我认为preg_replace不是答案.. 老线程,但今天恰好正在寻找这个。 ltrim和(int)cast是赢家。

<?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

答案 7 :(得分:0)

我用这种方式固定。

非常简单。只传递一个字符串,删除字符串的零开始。

function removeZeroString($str='')
{
    while(trim(substr($str,0,1)) === '0')
    {
        $str = ltrim($str,'0');
    }
    return $str;
}

答案 8 :(得分:-1)

Ajay Kumar提供最简单的 echo + $ numString; 我用这些:

file

实际上,任何数学函数都会从“字符串”中取出数字并对其进行处理。它比任何正则表达式或比较函数都简单得多。 我在php.net中看到,不记得在哪里。

答案 9 :(得分:-2)

假设您要删除三个或更多零的运行,并且您的示例是一个字符串:

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

如果我的假设已经关闭,您可以使正则表达式模式符合您的需要。

这有帮助吗?