如何将字符删除成字符串?

时间:2011-07-13 07:15:28

标签: php regex string preg-match substring

我有很多字符串,我需要在字符串的开头删除'0',但是更好的方法是什么,因为这是字符串的一个例子:

0130799.jpg //I need to get 130799
0025460.jpg //I need to get 25460

现在,我正在使用substr函数,但我认为如果我使用Regex no会更有效吗?

4 个答案:

答案 0 :(得分:11)

只需输入效果就能有效地实现

echo (int) $var;

答案 1 :(得分:3)

如果所有字符串的格式相同([numbers] .jpg),您可以这样做:

intval('0130799.jpg', 10);

intval() in Manual

答案 2 :(得分:0)

如果您使用substr,则必须将其与strpos结合使用,因为substr需要知道字符串索引。

是的,你最好使用正则表达式。

如果您的问题是如何从字符串00000dddddd.jpg中提取数字(对于某些数字的零和非零数字)任何地方,那么您应该使用preg_match。

以下是您可以尝试http://writecodeonline.com/php/

的完整示例
preg_match('/([1-9][0-9]+)\.jpg/', "I have a file called 0000482080.jpg somewhere", $matches);
echo "I like to call it: {$matches[0]}";

如果整个字符串是文件名,则使用intval或按照其他答案中的建议进行投射。

答案 3 :(得分:0)

使用正则表达式,您可以执行

preg_replace('/^0+/m','',$sourcestring);

^是字符串的开头(此处m修饰符是行的开头)

0+表示1个或多个零。

此正则表达式将匹配所有前导零并替换为空字符串。

here on Regexr