我想从文件名中删除所有尾随破折号和数字。
Filename:
Filename-01-1 and sometimes Filename-01
我的代码只有在文件名为第二种格式时才能正常工作。
rtrim(preg_replace("/\d+$/","",$Filename),'-')
也尝试了
rtrim(preg_replace('/[0-9]+/',"",$Filename),'-')
感谢任何帮助。
答案 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)
,则只匹配最终的数字。