我有很多字符串,我需要在字符串的开头删除'0',但是更好的方法是什么,因为这是字符串的一个例子:
0130799.jpg //I need to get 130799
0025460.jpg //I need to get 25460
现在,我正在使用substr函数,但我认为如果我使用Regex no会更有效吗?
答案 0 :(得分:11)
只需输入效果就能有效地实现
echo (int) $var;
答案 1 :(得分:3)
答案 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个或多个零。
此正则表达式将匹配所有前导零并替换为空字符串。