How to put text between Parentheses in Parentheses ") text (" to ") (text) ("

Hi,

I would like to create an action to reform the %title% tag

for example if title is

Mayores (Deville Club Mix) No Rap (Clean)

to

Mayores (Deville Club Mix) (No Rap) (Clean)

You can try an action of the type "Replace with regular expression" for TITLE
Search string: (.*\)) (.*) (\(.*)'
Replace string: $1 '('$2')' $3

HI @ohrenkino,
Thanks for the help, it seems that the correct one is

"Replace with regular expression" for TITLE
Search string: (.*\)) (.*) (\(.*)
Replace string: $1 ($2) $3

:+1: :wink:

By the way is there any way to create a filter to identify files like the example above?

Use the filter keyword MATCHES
title MATCHES ".*\) .* \(.*"

This filter also returns the tracks in this format Mayores (Deville Club Mix) (No Rap) (Clean)

Try
title MATCHES "\) .+ \("

It returns the same results again... :thinking:

I just tested
title MATCHES "\) .+ \("
and it returned

My Left Foot (Mein Linker Fuss) "Un' Aura Amorosa" (From "Cosi Fan Tutte")
Ewok Celebration (Film Version) / End Credits (Film Version)
Leia Breaks The News (Alternate) / Funeral Pyre For A Jedi (Film Version)

Which is the pattern "closing bracket - text - opening brackets" ...

It does returm patterns like "closing bracket - text - opening brackets"

But to me at least it also returns patterns like "closing bracket - (text) - opening brackets" :thinking:

then add to the already entered filter:
AND NOT HAS ") ("

This filter is working in some cases %title% MATCHES "\) .+ \(" AND NOT %Title% HAS ") ("

But this Filter excludes files like these ones

California Love (Deville Epic West Coast Intro) Slam Edit (Full Song) (Clean)

California Love (Deville Epic West Coast Intro) (Slam Edit) 2Pac Only (Clean)

That is the problem with patterns: a different pattern requires a different filter, usually there is not a universal one for all cases.

Something like
"\).*\) .+ \("
or
"\) .+ \(.*\("
may filter for some of the above new patterns.

I see, this is a tough one, thanks for your time by the way!

These ones are working like the first filters (it keeps on returning tracks with and without parentheses)

"\).*\) .+ \("
or
"\) .+ \(.*\("

But when i add the AND NOT %Title% HAS ") (" it's not returning any file although there are some not formatted in the way i want them to. Probably this is a normal behaviour because these files do have ) (

I do not have such files in my collection - I tend to use unique separators for each type of data - one for mixes (I use [ ]) one for featured artists (I use <&..>) or other information ({} is nice) - and the ordinary round brackets only for those texts that are actually part of the real title.
Like that it is easier to distinguish which information is present and which isn't.
Also, I have an order: the mix-information is always in front of the featured artist, if both pieces of information are present.
Like that you get unique patterns.

This makes sense (using different separators for each type of data) but unfortunately most of my tracks are from DJ Pools or Beatport/Traxsource and all these services are mostly (if not only) use just round brackets and i already have a a huge collection formatted in that way, it would be a nightmare to re-tag all of them again. Except that, most of these services are using a different way to order the informations of the tracks but I try to have an order also (Mix/Remix) (Additional infos if there are) (Clean/Explicit).

Once again thanks for all the help you are offering. :clap: :clap: :clap:

1 Like

Sorry @ohrenkino one more question...

What script should i create for this

Jerry Sprunger - Lemi Vice & Action Jackson Remix (Dirty)

to

Jerry Sprunger (Lemi Vice & Action Jackson Remix) (Dirty)

I would create 2 actions of the type "Replace"
first:
Search: _(
Replace: )_(
second:
Search: _-_
Replace: _(
(please note that there are a number blanks and I replaced them with an underscore so that they are visible here in the forum - please use the space character instead of the underscore in the code)
or one of the type "Format value"
Format string: $replace(%title%,' (',') ( ',- ,'(')