如何删除字符串中的第一个数字?

时间:2010-04-20 12:03:12

标签: php

如何删除字符串中的第一个数字?如果我将这48个数字分隔为','(逗号):

8,5,8,10,15,20,27,25,60,31,25,39,25,31,26,28,80,28,27,31,27,29,26,35,8,5,8,10,15,20,27,25,60,31,25,39,25,31,26,28,80,28,27,31,27,29,26,35

如何从字符串中删除“8”?感谢。

7 个答案:

答案 0 :(得分:8)

substr(strchr("2512,12512,1245234,23452345", ","), 1)

实际。这是我认为最有效的方式,因为它没有将字符串转换为数组或其他东西。它只是切断了弦。

答案 1 :(得分:7)

$text = "8,5,8,10,15,20,27,25,60,31,2";

首先你可以爆炸:

$array = explode(',', $text);

然后删除第一个元素:

array_shift($array);

最后结束,加入:

echo implode(',' $array);

答案 2 :(得分:7)

以下假设您至少有2个号码(且速度很快):

list($first, $rest) = explode(',', $string, 2);

这也适用于单个数字(但使用正则表达式):

preg_replace('/^.*?,/', '', $string);

答案 3 :(得分:2)

删除所有字符,包括第一个逗号:

ltrim(strstr($numbers, ','), ',');

删除所有数字,包括第一个逗号:

ltrim(ltrim($numbers, '01234567890'), ',');

稍快的版本,删除所有数字,包括第一个非数字

substr($numbers, strspn($numbers, '1234567890')+1);

答案 4 :(得分:2)

所有都提供不同的解决方案,所以这里是另一个简单的解决方案

$mystring = "8,5,8,10,15,20,27,25,60,31,25,39,25,31";
$pos = strpos($mystring, ",");
$pos1 = $pos+1; // add the comma position by 1
echo substr($mystring, $pos1);

答案 5 :(得分:0)

如果'8'大于9,就像这样有效!

$numbers = substr($numbers, strpos($text,",") + 1);

答案 6 :(得分:0)

substr(strstr("8,5,8,10,15,20,27,25,60,31,25,39,25,31",","),1);