# Moving a string from the beginning to the end or almost the end; in brackets

**URL:** <https://community.mp3tag.de/t/moving-a-string-from-the-beginning-to-the-end-or-almost-the-end-in-brackets/41454>\
**Category:** Support\
**Created:** [April 17, 2018, 8:42am UTC](https://community.mp3tag.de/t/moving-a-string-from-the-beginning-to-the-end-or-almost-the-end-in-brackets/41454 "2018-04-17T08:42:14Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zerow](https://community.mp3tag.de/user_avatar/community.mp3tag.de/zerow/32/11379_2.png) [@Zerow](https://community.mp3tag.de/u/Zerow)\
**Post date:** [April 17, 2018, 8:42am UTC](https://community.mp3tag.de/t/moving-a-string-from-the-beginning-to-the-end-or-almost-the-end-in-brackets/41454/1 "2018-04-17T08:42:14Z")

</div>

Can anyone please help me with this task?  
  
  
Here are some examples of TITLE before and after

BEFORE:  
**1m00a-01s** Title  
AFTER:  
Title **(1m00a-01s)**

BEFORE:  
**1m00a-01s** Title (Subtitle)  
AFTER:  
Title (Subtitle) **(1m00a-01s)**

BEFORE:  
**1m00a-01s** Title (Subtitle) {2000}  
AFTER:  
Title (Subtitle) **(1m00a-01s)** {2000}

BEFORE:  
**1m00a-01s** Title (Subtitle) [XYZ]  
AFTER:  
Title (Subtitle) **(1m00a-01s)** [XYZ]

BEFORE:  
**1m00a-01s** Title (Subtitle) {2000} [XYZ]  
AFTER:  
Title (Subtitle) **(1m00a-01s)** {2000} [XYZ]

BEFORE:  
**1m00a-01s** Title [XYZ]  
AFTER:  
Title **(1m00a-01s)** [XYZ]

BEFORE:  
**1m00a-01s** Title {2000} [XYZ]  
AFTER:  
Title **(1m00a-01s)** {2000} [XYZ]  
  
  
**And so the rules are:**

1] always take the very first string, whatever it may be

2] change all of the letters in it to capitals

3] enclose that string always in round brackets

4] put that data at the very end of TITLE, even if it already has `(Something)` at the end of it

4A] but put it before `{` - if it exists

4B] but put it before `{` - if it exists and also if the `[` exists

4C] but put it before `[` - if it exists and the `{` does not exits  
  
  
The data in the already existing brackets, of all of three kinds, can have of course more than just a single word / string; or the other way around- it can have as little as a single sign of any kind. But those brackets will always be enclosed. And to visualize the rules further in a "maxed out" scenario - here the star sign marks the placement of that string taken out from the beginning of the TITLE: `() * {} []`

---

<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:** [April 18, 2018, 5:37am UTC](https://community.mp3tag.de/t/moving-a-string-from-the-beginning-to-the-end-or-almost-the-end-in-brackets/41454/2 "2018-04-18T05:37:30Z")

</div>

I think you can extract the first bit

> [@Zerow](#):
>
> 1m00a-01s

with a regular expression pattern `(.*\d+.)`  
I would put it in a separate (user-defined) field - a thing that I would also do with all the other implicit fields like the ones in {} and and () - this should be possible with a "Guess value" action. and then I would - if still necessary - recompose the title.  
In that respect I find it a sub-optimum way to use the () for 2 purposes: one as subtitle, the other for

[quote="Zerow, post:1, topic:41454"]  
1m00a-01s  
[/quote] perhaps there is a better pattern with underscores or \<\> on the way.

---

<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:** [February 9, 2026, 12:27pm UTC](https://community.mp3tag.de/t/moving-a-string-from-the-beginning-to-the-end-or-almost-the-end-in-brackets/41454/3 "2026-02-09T12:27:23Z")

</div>


