使用 preg_match 去除 php 中指定的下划线
php 中的 preg_match 一直存在混淆。 我有一个像这样的字符串:
apsd_01_03s_somedescription
apsd_02_04_somedescription
我可以使用 preg_match 删除第三个下划线(包括第三个下划线)中的任何内容吗?
谢谢。
There has always been a confusion with preg_match in php.
I have a string like this:
apsd_01_03s_somedescription
apsd_02_04_somedescription
Can I use preg_match to strip off anything from 3rd underscore including the 3rd underscore.
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
试试这个:
这将只采用由
_
分隔的前三个序列。因此从第三个_
开始的所有内容都将被删除。Try this:
This will take only the first three sequences that are separated by
_
. So everything from the third_
on will be removed.如果你想删除“_somedescription”部分:
if you want to strip the "_somedescription" part:
我同意 Gumbo 的答案,但是,您可以使用 PHP 的数组函数,而不是使用正则表达式:
与正则表达式解决方案相比,此方法的执行速度似乎相似。
I agree with Gumbo's answer, however, instead of using regular expressions, you can use PHP's array functions:
This method appears to execute similarly in speed, compared to a regular expression solution.
如果第三个下划线是最后一个,您可以这样做:
If the third underscore is the last one, you can do this: