0

对不起,复杂的标题!

例如说我有以下字符串:

package-name-1.0.5.00124.4

我想拆分这个字符串,以便我只有“包名”。

目前我正在使用以下代码,如果包名称有破折号,则该代码不起作用:

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

如果破折号后面跟着数字,我需要分解字符串,如下所示:

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

我不擅长正则表达式,所以这就是我在这里的原因,在此先感谢大家。

4

1 回答 1

2

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

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

另一个是用来rtrim做同样的事情:

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

看到它在行动

于 2012-09-13T22:18:42.823 回答