对不起,复杂的标题!
例如说我有以下字符串:
package-name-1.0.5.00124.4
我想拆分这个字符串,以便我只有“包名”。
目前我正在使用以下代码,如果包名称有破折号,则该代码不起作用:
list ($var) = explode ("-", $var);
如果破折号后面跟着数字,我需要分解字符串,如下所示:
list ($var) = explode ("-[0-9]", $var);
我不擅长正则表达式,所以这就是我在这里的原因,在此先感谢大家。
您可以选择几种方法来解决此问题。一种是preg_replace,用空字符串替换尾随的破折号加数字和点:
$name = preg_replace('/-[0-9.]+$/', '', $var);
另一个是用来rtrim做同样的事情:
$name = rtrim($var, '0123456789.-');