Removing prefix of mp3 filename

Hi there,

I'm hoping someone can help me. Recently I mistakenly tagged my whole mp3 collection with a software that inserts the BPM at the beginning of the filename. My mistake, should've tested it on one file first, but was in a hurry, and now can't reverse it.

I'm sure this can be achieved with regular expressions, but have never done it before. The file prefixes are like this.

  • 130 - artist - track.mp3

Is there any way to remove underscores, replace with spaces so and make them all lowercase at the same time? So - 130 - artist_name-track_name becomes "artist - title.mp3"

Once I did that, I wanted to use the filename to generate the ID3.

Any help MUCH appreciated.


your action will be replace with regular expression this will be your #1 exp in your group of action. See FAQ how to create group actions.
Action: replace with regular expression
field: _FILENAME
reg exp: ^-\s+\d+\s+-\s+
replace with: enter nothing here

create action #2 to replace the '_' with ' ' see FAQ
create action #3 to change case. Again search the FAQ

Use filename to tag naming convention using the mask:
%artist% - %title%

I have left something for you to go search for here. The FAQ are great and you have very detailed explainations there on how to achieve your simple tasks.

You are a legend. Thanks so much!

No RegeEx needed.
First step is to trim the left side of the string

$trimLeft(%_filename%,'0123456789 -')

Use this format string with an action "Format value".

Second step is replacing the underline character, see the forum's FAQ area how to use an action "Replace".
Or use an action "Format value" with the format string:

$replace(%_filename%,'_',' ')

Third step is changing the letters to all lowercase, see the forum's FAQ area how to use an action "Case conversion".
Or use an action "Format value" with the format string:


Putting it all together, using an action "Format value" ...

$lower($replace($trimLeft(%_filename%,'0123456789 -'),'_',' '))


Thanks so much. HUGE timesaver.