help with "artist, the" —> "the artist"


#1

looking to perform this in the artist field

example:
i want "Thrillseekers, The" to become "The Thrillseekers"

(but, of course, i want it to work for any artist—not just for "The Thrillseekers")

i'm thinking it would be something like this:
\S+, the

, but where do i go from here?


#2

As before: first filter the data with
%artist% HAS ", the"

Then create an action "replace with regular expression".
Search string: (.), (.)$
Replace string: $2 $1


#3

thanks, but that didn't quite do it

"Thrillseekers, The feat Fisher"
became
"The feat Fisher Thrillseekers"

also, i was hoping for a way to perform this in a group of actions for efficiency (i realize this may not be possible)


#4

i'm confused as to what purpose the numbers 2 and 1 serve in "Replace string: $2 $1"? i don't see any explanation of that under the help file, Replace with regular expression section.


#5

i seem to have accomplished it using:

Regular expression:
(\S*), (The)

Replace matches with:
$2 $1

the numbers reference the contents of the parenthesis apparently?

note: i'm trying to avoid using a filter, because that's an extra step

i'm not sure how this will work with multi-word artists e.g. "The Disco Boys"


#6

basically i need it to stop if it reaches a joiner like "meets", "feat", "pres", etc...

any way to do that?


#7

Yes, that is exactly what the $N tells you in the help on "Replace with regular expression" in the section "Parenthesis".


#8

No, if you insist on the "etc.". As language is not logical you will not be able to create a universal action.
It would be easiest to create several action, each dealing with one of the words separately.
Or you have a set of actions which deals with those artists first that have something following the "the" and then one that deals with those that have not.
Search string for the first variation (which will process only those strings that have something behind the ", the":
^(.), The (.)$
Replace with:
The $1 $2
This action leads to a string that has no ", the" in it, so that the second action will not do anything.
The second:
^(.*), The$
Replace with:
The $1


#9

thanks for your help

i seem to have accomplished it by first using

Regular expression:
vs (.*), (The)
Replace matches with:
vs $2 $1

followed by:

Regular expression:
(.*), (The)
Replace matches with:
$2 $1

i will probably have to make a joiner exception as above for each joiner e.g. "meets", "feat", "pres", etc...

will continue testing, but to show my results:

Georgia vs Stimulator, The became Georgia vs The Stimulator
Thrillseekers, The Feat Fisher became The Thrillseekers feat Fisher