如何从字符串中删除前导字符?
我有一个输入字符串,例如:
$str = ':this is a applepie :) ';
如何使用 PHP 删除第一个出现的 :
?
期望的输出:这是一个苹果派:)
I have a input string like:
$str = ':this is a applepie :) ';
How can I remove the first occurring :
with PHP?
Desired output: this is a applepie :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(10)
substr()
函数可能会在这里帮助您:字符串从0开始索引,该函数第二个参数采用cutstart。所以将其设置为 1,第一个字符就消失了。
The
substr()
function will probably help you here:Strings are indexed starting from 0, and this functions second parameter takes the cutstart. So make that 1, and the first char is gone.
要从字符串开头删除每个
:
,您可以使用 ltrim:To remove every
:
from the beginning of a string, you can use ltrim:使用 substr:
Use substr:
3 个答案的执行时间:
通过替换大小写来删除第一个字母
1.000.000 次测试的执行时间:
0.39602184295654
秒用 substr() 删除第一个字母
1.000.000 次测试的执行时间:
5.153294801712
秒使用 ltrim() 删除第一个字母
1.000.000 次测试的执行时间:
5.2393000125885
秒使用 preg_replace() 删除第一个字母
1.000.000 次测试的执行时间:
6.8543920516968
秒Exec time for the 3 answers :
Remove the first letter by replacing the case
Exec time for 1.000.000 tests :
0.39602184295654
secRemove the first letter with substr()
Exec time for 1.000.000 tests :
5.153294801712
secRemove the first letter with ltrim()
Exec time for 1.000.000 tests :
5.2393000125885
secRemove the first letter with preg_replace()
Exec time for 1.000.000 tests :
6.8543920516968
sec接受的答案:
有效,但当开始时有多个
:
时,会删除多个:
。将从头开始删除任何字符。
然而,
工作完美。
The accepted answer:
works but will remove multiple
:
when there are more than one at the start.will remove any character from the start.
However,
works perfectly.
更新
经过进一步测试,我不建议再使用它。当我在 MySQL 查询中使用更新后的字符串时,它给我带来了一个问题,并且更改为
substr
解决了这个问题。我想过删除这个答案,但评论表明它以某种方式更快,所以有人可能会使用它。您可能会发现修剪更新的字符串可以解决字符串长度问题。有时您不需要函数:
例如:
此方法修改现有字符串而不是创建另一个字符串。
Update
After further tests, I don't recommend using this any more. It caused a problem for me when using the updated string in a MySQL query, and changing to
substr
fixed the problem. I thought about deleting this answer, but comments suggest it is quicker somehow so someone might have a use for it. You may find trimming the updated string resolves string length issues.Sometimes you don't need a function:
For example:
This method modifies the existing string rather than creating another.
请参阅 PHP 手册示例 3
注意:
不会工作< /em> 因为您无法取消设置字符串的一部分:-
See PHP manual example 3
Note:
will not work as you cannot unset part of a string:-
使用 mb_substr 函数
use mb_substr function
按照正常的trim(),从字符串的开头和结尾+空格以及可选的额外单个字符中修剪数组中每个单词的出现次数
Trims occurrences of every word in an array from the beginning and end of a string + whitespace and optionally extra single characters as per normal trim()
该代码对我来说效果很好。
也许,也贡献一下答案。
The code works well for me.
Maybe, contribute with answers too.