# How do I change the 2nd "( )" bracket in a title to a "\[ \]" bracket?

**URL:** https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668
**Category:** Support
**Created:** [November 1, 2020, 4:29pm UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668 "2020-11-01T16:29:16Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![royden](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/r/9de0a6/32.png) [@royden](https://community.mp3tag.de/u/royden)
#### Post date: [November 1, 2020, 4:29pm UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/1 "2020-11-01T16:29:16Z")

</div>

Suppose the TITLE is Praise the Lord (Da Shine) (feat. Skepta). How do I change it to Praise the Lord (Da Shine) [feat. Skepta]. Also, I need this to happen only if there _is_ a second bracket. Thanks in advance.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [November 1, 2020, 4:39pm UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/2 "2020-11-01T16:39:24Z")

</div>

see here:

> [@Brackets HELP](https://community.mp3tag.de/t/brackets-help/12867):
>
> I have a bunch of music MP3 files in a folder. Some of them have their title tag set as, for example: Back Up (Feat. xx) (Album Version) I want to create an action that will define, if title tag has two pairs of round brackets "()", the second pair should be replaced with square ones "[]" Back Up (Feat. xx) [Album Version] Is it possible to create such action (expression) ?

---

<div class="post-metadata">

### Author: ![royden](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/r/9de0a6/32.png) [@royden](https://community.mp3tag.de/u/royden)
#### Post date: [November 1, 2020, 4:52pm UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/3 "2020-11-01T16:52:04Z")

</div>

bruh how do you always manage to save the day? thanks a lot

---

<div class="post-metadata">

### Author: ![Ronstang](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/r/ba9def/32.png) [@Ronstang](https://community.mp3tag.de/u/Ronstang)
#### Post date: [August 20, 2025, 5:55am UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/4 "2025-08-20T05:55:17Z")

</div>

> [@ohrenkino](#):
>
> see here:
> 
> > [@](#):
> >
> > I have a bunch of music MP3 files in a folder. Some of them have their title tag set as, for example: Back Up (Feat. xx) (Album Version) I want to create an action that will define, if title tag has two pairs of round brackets "()", the second pair should be replaced with square ones "" Back Up (Feat. xx) [Album Version] Is it possible to create such action (expression) ?

I have searched and every thread I find that asks about changing the second set of parenthesis to brackets you point to this thread but I cannot get either of the first two methods to work and the last one is way too confusing.

I have no understanding of script or script language etc. so this is very Greek to me and all I am capable of doing is copying and pasting things and when I do this the first one results in Daytime Dilemma (Dangers Of Love)(Demo) becoming:

Daytime Dilemma (Dangers Of Love) (Demo [m]

And the second suggestion does absolutely nothing, the title stays the same.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [August 20, 2025, 6:38am UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/5 "2025-08-20T06:38:20Z")

</div>

> [@Ronstang](#):
>
> Daytime Dilemma (Dangers Of Love)(Demo)

DetlevD's regular expression\*\* works fine here:  
`$regexp(%TITLE%,'^([^(]+?)\s\(([^(]+?)\)\s\(([^(]+?)\)$','$1 ($2) [$3]')`

 ![image](https://community.mp3tag.de/uploads/default/original/3X/e/a/ea6fbca1e3a335531bbaf3b00a41bee5e4dbaae3.png)

Please take care that this regular expression expects a space between the first and the second pair of brackets. Your example **...Love)(Demo)** would not work.

\*\* _I have reformatted his original regular expression to make it easier to see all the necessary characters._

---

<div class="post-metadata">

### Author: ![Ronstang](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/r/ba9def/32.png) [@Ronstang](https://community.mp3tag.de/u/Ronstang)
#### Post date: [August 20, 2025, 6:50am UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/6 "2025-08-20T06:50:12Z")

</div>

> [@LyricsLover](#):
>
> $regexp(%TITLE%,'^([^(]+?)\s(([^(]+?))\s(([^(]+?))$','$1 ($2) [$3]')

Thank you sir, there is a difference in what you posted here and what is in the other thread. Yours has the spaces between the brackets and that made the difference. I understood what was going on once I read the bottom of your post and I immediately noticed that your expressions was different in that it had spaces.

Like I said, I do not understand scripts or the language but sometimes I can figure out when there is a syntax error even though I don’t understand the whole of what is going on.

I appreciate your help so quick it now works as it should.

---

<div class="post-metadata">

### Author: ![Ronstang](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/r/ba9def/32.png) [@Ronstang](https://community.mp3tag.de/u/Ronstang)
#### Post date: [August 20, 2025, 7:07am UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/7 "2025-08-20T07:07:00Z")

</div>

Now that this works I have another question, is there a way that I can make this action change the filename at the same time. I tried to see if there was a way to create a second action and make it a group but there is no option for filename.

Currently I filter all titles with “(“ in them and then pick the ones I need to run this action on, run the action and then change the filenames. Is this the only way to do this?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [August 20, 2025, 7:09am UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/8 "2025-08-20T07:09:56Z")

</div>

> [@Ronstang](#):
>
> but there is no option for filename.

Try %\_Filename%.  
... but why don't you simply create a new filename with Convert\>Tag-Filename or with Format Value for \_FILENAME?

The action to replace the brackets only works on files that match the pattern. So there would not really be the need to filter. It is safer, though.  
Renaming the files should not hurt.

---

<div class="post-metadata">

### Author: ![Ronstang](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/r/ba9def/32.png) [@Ronstang](https://community.mp3tag.de/u/Ronstang)
#### Post date: [August 20, 2025, 7:21am UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/9 "2025-08-20T07:21:24Z")

</div>

> [@ohrenkino](#):
>
> Try %\_Filename%

That did the trick, you’re the champ as usual. Thanks.

> [@ohrenkino](#):
>
> ... but why don't you simply create a new filename with Convert\>Tag-Filename or with Format Value for \_FILENAME?

Well, if currently the filename matches the one with parentheses then I don’t have to worry about it, and if it doesn’t I am either going to notice it or it will get changed when I convert the tag to filename which I usually do once I have corrected all the TITLE fields.

This is one of the greatest uses of Mp3Tag for me. I load up all the alums/tracks from a given artist in all formats all at once so at a glance I can make sure certain fields like ALBUMARTIST and GENRE are consistent but then I sort by time, then by title so I can quickly see discrepencies. I scan down the TITLE field and up the FILENAME field looking for discrepencies and often make multiple passes until I am satisfied everything is reconciled.

---

<div class="post-metadata">

### Author: ![flowrian](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/f/bbe5ce/32.png) [@flowrian](https://community.mp3tag.de/u/flowrian)
#### Post date: [August 20, 2025, 2:04pm UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/10 "2025-08-20T14:04:19Z")

</div>

Because I’m not a coder and I have to rely on other to know how to do this in the app, I can give you another solution that can help sometime

An example, I have a full album where every track are like 🙂

01 - Artist - Track (2012 Remaster Album Version).mp3  
02 - Artist - Other track (2012 Remaster Album Version).mp3  
03 - Artist feat Artist - And it’s also a track (2012 Remaster Album Version).mp3

For this I will use Ant Renamer (I’m not affiliated with it, it’s just a nice tool to mass rename files or folders imho)

I put the file in it, I go to “replace string”, and I will replace “ (2012 Remaster Album Version)” by ““ (by nothing, so basically erase all “ (2012 Remaster Album Version)” occurrence.

After that I will have :

01 - Artist - Track.mp3  
02 - Artist - Other track.mp3  
03 - Artist feat Artist - And it’s also a track.mp3

And then I will use mp3tag to : file name \> tag (track - artist - title)

Not saying it’s better, just that it can help maybe

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [August 20, 2025, 2:46pm UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/11 "2025-08-20T14:46:08Z")

</div>

> [@flowrian](#):
>
> Ant Renamer

Could be left out if you use

> [@flowrian](#):
>
> file name \> tag (track - artist - title)

but modify it to  
Format string : `%track% - %artist% - %title% (%dummy%)`

---

<div class="post-metadata">

### Author: ![flowrian](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/f/bbe5ce/32.png) [@flowrian](https://community.mp3tag.de/u/flowrian)
#### Post date: [August 20, 2025, 3:00pm UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/12 "2025-08-20T15:00:15Z")

</div>

Oh yes, I just discover the meaning of %dummy% today, it' isn’t written in my logic yet but yes, perfect solution

I will create an action to keep it

Thank you

Oh and in case we have more than one “()” how can we indicate which one to be the one

Like : “Artist - Track (Album version) (feat. other artist) (Remaster).mp3”

To be “Artist - Track (feat. other artist).mp3”

---

<div class="post-metadata">

### Author: ![system](https://community.mp3tag.de/uploads/default/original/2X/c/ce7035d426cb755a7916793326d23b465222a407.png) [@system](https://community.mp3tag.de/u/system)
#### Post date: [September 19, 2025, 3:00pm UTC](https://community.mp3tag.de/t/how-do-i-change-the-2nd-bracket-in-a-title-to-a-bracket/50668/13 "2025-09-19T15:00:30Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
