Removing leading digits/iPod sorting


I've spent three weeks tidying my MP3 tags and now find I can't sort properly in iTunes and more importantly, on my 160GB iPod which has (according to iTunes) 2093 albums.

I'm not overly concerned about sorting in iTunes, but really I must be able to sort properly on the iPod.

I want to be able to navigate on the iPod by Artist, then album by release year/date, which is the way I organise my folder structure in Windows, using a NAS box. Frustratingly, iTunes v.11 only reads the first four digits in the year field, though I have employed the format 1969-09-29 to provide a full release date using MP3tag v2.54.

Firstly, has anyone overcome this issue in iTunes to allow the iPod to sort as I've described?

Secondly, I think one way to do it may be to tag the album field in the following way:
1969-01-Yellow Submarine
1969-09-Abbey Road

Currently I have employed the following year/date method in my year field:

1969 (for albums by an artist of whose work I do not have more than one album release in any given year)

1969-09 (for albums by an artist of whose work I do not have more than one album release in any one month in any given year)

1969-09-29 (for albums by an artist of whose work I have more than one album release in any one month in any given year)

If I tag my whole collection in this way and assuming a cleaner solution becomes available at a later time, is there a way I can later remove the leading year/date information so I can revert to just the album named as originally entered?

Thanks and Regards


Yes, something like that could easily be removed from the ALBUM field using Mp3tag.

As for the iTunes/iPod specific questions, I have no idea.

Apologies, I meant to ask - what would (presumably) the Tag-Tag syntax be in order to strip out the release year/date info be as outlined in my original post, in order to strip out the data yet leave the album name in that field unaffected?

I have c.30,000 tracks so want to make sure I can test regression before putting the year/date before each album name.

Many Thanks


You can use the tag-tag converter or an action of the type "Format tag field".

If you want to pave the way for an easy reversal of the added dates then use a special character as separator that is hardly ever used in ordinary album names. To my experience this would be the underscore _ .

So, your action/conversion could look like this:
field: ALBUM
formatting string: %year% _ %album%

For the reverse action I would suggest an action of the type "Import tag field (guess values) for ALBUM with the expression:
%dummy% _ %album%
This should strip the stuff before the underscore from ALBUM.

I would use a 'Replace with regular expression' action.

Action type: Replace with regular expression
Field: ALBUM
Regular expression: ^(\d{4}(-\d{2}){0,2}[ -])?(.*)$
Replace matches with: $3
[ ] case-sensitive comparison

Test this with a variety of date formats that you might use. It assumes (requires) month and day formatted to 2 places, with the date separated from the album title by either a space or a dash.

Thanks for all your replies so far, any further suggestions greatly appreciated.

I'm continuing to work on album art at the moment, and anticipate time to test early next week as I'm both working and away until that time.




Thanks for your help so far. I'm afraid what I know about scripting could be written on a postage stamp!

I've created an Action of Field: ALBUM with FORMAT STRING: %YEAR% _ %ALBUM%

This took what I had in the Year field and placed it before the name of the album as desired. The use of the underscore character works well.

To test regression, I created an action of Source Format: ALBUM with Guessing String: %dummy% _ %album%

I must have done something wrong with the regression action, as it didn't do anything.

JJ Johnson,
I haven't yet tried Replace with regular expression as if I understand it correctly, it needs the format of 1986-12-15 and many of my albums don't have full release dates entered.

Could you (hopefully both) please set me straight on this?

By the way, can the underscore character also be stripped out with the regression action?



That's incorrect. The regular expression would remove a date with only a year or only a year and a month. I just meant that it assumes that month and day would be formatted with two digits when they exist. Please test it thoroughly on some test files.

If you know that the formatted date is one of:


then you wouldn't need to use the underscore or any other special character as a separator to later remove the date. If you do use the underscore or another unique separator, then you don't need to use a regular expression.

It would be (as you refer to the string in the field ALBUM):
Source Format: %album%
with Guessing String: %dummy% _ %album%
so add the %-signs around the field name in source format.