如果后跟数字,删除字符后的所有内容

时间:2012-09-13 22:16:33

标签: php regex

很抱歉复杂的标题!

比如说我有以下字符串:

package-name-1.0.5.00124.4

我想拆分这个字符串,以便我只有'package-name'。

目前我正在使用以下代码,如果软件包名称有破折号,则该代码无效:

list ($var) = explode ("-", $var);

如果破折号后跟数字,我需要爆炸字符串,如下所示:

list ($var) = explode ("-[0-9]", $var);

我对Regex并不擅长这就是为什么我在这里,先谢谢大家。

1 个答案:

答案 0 :(得分:2)

有几种方法可以选择解决这个问题。一个是preg_replace,用空字符串替换尾随破折号加上数字和点:

$name = preg_replace('/-[0-9.]+$/', '', $var);

另一种方法是使用rtrim来做同样的事情:

$name = rtrim($var, '0123456789.-');

<强> See it in action