从字符串中删除多个尾随破折号和数字

时间:2017-09-12 10:52:01

标签: php

我想从文件名中删除所有尾随破折号和数字。

Filename:
Filename-01-1 and sometimes Filename-01

我的代码只有在文件名为第二种格式时才能正常工作。

rtrim(preg_replace("/\d+$/","",$Filename),'-')

也尝试了

rtrim(preg_replace('/[0-9]+/',"",$Filename),'-')

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

preg_replace("/(-|\d+)*$/",'', $filename);

(-|\d+) # match "-" literally OR any digit
*       # match the previous group zero or more times 
$       # end of the string

答案 1 :(得分:0)

只需更新您的正则表达式以包含短划线字符:

pom.xml

您尝试的问题是您首先替换尾随数字,然后删除尾随破折号。但如果文件名的格式为preg_replace("/[\d\-]+$/","",$Filename) ,则只匹配最终的数字。