很抱歉复杂的标题!
比如说我有以下字符串:
package-name-1.0.5.00124.4
我想拆分这个字符串,以便我只有'package-name'。
目前我正在使用以下代码,如果软件包名称有破折号,则该代码无效:
list ($var) = explode ("-", $var);
如果破折号后跟数字,我需要爆炸字符串,如下所示:
list ($var) = explode ("-[0-9]", $var);
我对Regex并不擅长这就是为什么我在这里,先谢谢大家。
答案 0 :(得分:2)
有几种方法可以选择解决这个问题。一个是preg_replace
,用空字符串替换尾随破折号加上数字和点:
$name = preg_replace('/-[0-9.]+$/', '', $var);
另一种方法是使用rtrim
来做同样的事情:
$name = rtrim($var, '0123456789.-');
<强> See it in action 强>