如何从字符串中删除字符?
我有很多字符串,我需要删除字符串开头的“0”,但是更好的方法是什么,因为这是字符串的一个示例:
0130799.jpg //I need to get 130799
0025460.jpg //I need to get 25460
现在,我正在使用 substr 函数,但我认为如果我使用正则表达式会更有效吗?
I have a lot of strings, and I need to delete '0' at start of string, but what is the better way to do it, because this is an example of strings:
0130799.jpg //I need to get 130799
0025460.jpg //I need to get 25460
Now, I'm using substr function, but I think it's more efficient if I'll use Regex no ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
只需类型转换即可有效完成
just type cast will do it efficiently
如果所有字符串的格式相同([numbers].jpg),您可以这样做:
手册中的intval()
If the format is the same for all strings ([numbers].jpg), you could do:
intval() in Manual
使用正则表达式,您可以执行
^
是字符串的开头(此处使用m
修饰符表示行的开头)0+
表示 1 个或多个零。此正则表达式将匹配所有前导零并替换为空字符串。
请参阅Regexr 上的此处
With a regular expression you can just do
^
is the start of the string (here with them
modifier the start of a row)0+
means 1 or more zeros.This regex will match all leading zeros and replace with an empty string.
See it here on Regexr
如果您使用
substr
,则必须将其与strpos
结合使用,因为substr
需要知道字符串索引。是的,使用正则表达式会更好。
如果您的问题是如何从字符串 00000ddddddd.jpg(对于一定数量的零和非零数字)中的任意位置提取数字,那么您应该使用 preg_match。
这是一个完整的示例,您可以尝试 http://writecodeonline.com/php/
如果整个字符串是一个文件名,然后使用
intval
或按照其他答案中的建议进行转换。If you use
substr
you have to use it in conjunction withstrpos
becausesubstr
needs to know string indexes.Yes, you are better off with a regex.
If your question is how to extract the digits from a string 00000ddddddd.jpg (for some number of zeros and non-zero digits) anywhere in a string, then you should use preg_match.
Here is a complete example which you can try on http://writecodeonline.com/php/
If the entire string is a filename, then use
intval
or casting as suggested in the other answers.