String to change song titles

Is there a string you can enter in the actions to replace X with x, but ONLY if its not the first word of the song, or following certain characters?


Xxx Of the yyy ----> Xxx of the yyy

Of xxx ---> Of xxx (ignores because it is the first word)

Xxx. Of yyy ---> Xxx. Of yyy (ignores because "Of" follows a period)


have you tried the change case action?
this offers several alternatives like special characters which delimit a word and also several ways to treat the delimited parts of a string.
e.g. I included "[ < ( /"" as delimiters. You might want to add a ".".

i dont see how that would help though. that would affect the entire title, not just that specific word i want changed.

i only have certain words lowercased, such as; and, of, to, the, a...but i dont want them lowercased in situations where the song title might start with any of those words, or the word follows specific characters such as periods or colons.

ive got 98% of my library properly named, its just those few songs i have forgotten to fix up, or missed by accident. if i simply make an action to replace XXX with xxx (making sure that match case, and only whole word options are checked), that will change the words i need fixed, but also change the ones that i dont need/want to be changed, and force me to go back and recorrect those.

You can do that with a Replace with regular expression action:

Field: TITLE
RegEx: (?<!\.|:)( )(a|an|and|as|at|by|but|for|in|of|on|or|out|the|to)(?= )
Replace matches with: $1$lower($2)

Thank you very much Dano, master of the script ^_^

Its pretty cool how mp3tag supports such intricacy in the things you can do. =)