I am pretty sure that even following the given example it will become an extremely difficult task to really treat only the special characters correctly.
E.g. you have 2 pairs of parenthesis - one apparently should be remove, the other one replaced with underscores. Does this always apply? How do you treat files where there is just one pair?
Then: the hyphen is fairly often at least part of English texts - should this really be removed?
Anyway: for each character that you do not like, create an action of the type "Replace" for TITLE. You can join all the replace actions in a single action group so that you get all the specified characters replaced with just one call of the action group.
I do not think that there is a pre-defined set of characters that you would call "special".
I would never attempt to blindly replace all those characters in the whole tag. E.g. in TRACK the / should not be replaced as it serves as separator.
I just scanned through a couple of files and found:
E=MC² by Big Audio Dynamite - replacing the = would make a strange title.
Alone + Easy Target by the Foo Fighters ...
Beats + Pieces by Coldcut
Crows + Locusts by Brooke Fraser
Help! by the Beatles
Groups like P!nk or Sash!
Crash! Boom! Bang! by Roxette
... and parenthesis all over the place.
and many more.
I would definitely filter for each character first and then decide which file should be treated.
The following characters are not special, they are valid and often used in the tag TITLE.
Even if you find some regular expression or other syntax: Such an action would be irreversible!
You can never change it back and it would destroy every TITLE with valid occurences of your characters. @ohrenkino already has listed several examples where this action would fail dramatically.
Create an action Group.
Add an action of the type "Replace" for every character that you want to replace and for every field in which you want to replace that.
Then call that action group.
More on actions and action groups can be found in the help.
Scripting function create a string as a result.
So you can use them anywhere where a format string is required.
To test scripting function, use Converter>Tag-Tag which has a preview.
Use the help for further information on scripting functions.
Command: $replace(string,from,to) or $replace(string,from1,to1,from2,to2,...)
Example: $replace(%artist% - %album% - %track% - %title%,_,-)
This example replaces all underscores with dashes. You can provide additional pairs of from/to as parameters.
Where in the explanation do you get stuck?
I strongly suggest that you use Converter>Tag-Tag to test your expression first. Try with a single pair first, then add others and see if the expression still returns a valid result.
ok, now iam getting closer, but 2 issues i wanna understand
first if i select the field title in the upper selection as in the pic, why i add "%ARTIST% - %ALBUM% - %TITLE%" in the "format string" field ?? can i add all the needed fields in up in the "field placeholder itself" ??
second and more important, how can i remove these "(" ")" characters as it's part of command itself, but it's also everywhere in the tags fields and i want to remove them ??
The contents of brackets are displayed only if at least one of the placeholders used inside the brackets has been found.
'
Outputs raw text without parsing. This will output the contained string and ignore all reserved characters. If you want to output this character, please use ''.
[]$%
You have to put a single quote around these reserved characters if you want to use them unparsed.
,()
These characters must only be escaped when they are inside a scripting function.
Indeed. You only enter the fields that you really want to treat. In this case it is most likely just %title%.
But as you can use the scripting functions also for format strings like in Converter>Tag-Filename where more than just one field may be in need of such a treatment, it is also possible to set more field variables and text constants.