TEdgeNYC wrote:Title: <title> (feat. <artist>)
Artist: <main artist>
What I would like is:
Title: <title>
Artist: <main artist>; <artist>
You have at least three possibilities to do that. The first one is with three existing presets:
1. Copy featuring artists or [(featuring artist)] from the end of Title to the end of Artist,
2. Replace "&", feat./pres./vs. with "; " in <Into Field>... (specify Artist in the
Into list and remove "&|" from the
Find what string),
3. Remove featuring artists or [(featuring artists]) from the end of <Into Field>... (specify Title).
Instead of using the first two mentioned presets, you could create the new preset with the following settings:
Preset: Add featuring artists or [(featuring artist)] from the end of Title to multi-item Artist
Description: Title feat. Artist1, Artist2 or Title [feat. Artist1, Artist2] or Title (feat. Artist1, Artist2) -> Artist; Artist1, Artist2
Find what: $
Into: Artist
Regular expression 1: checked
Replace with: RegSub(RegExpEx(oSongData.Title, "\b(?:ft\.?|feat\.?|featuring|vs\.?|versus|pres\.?|presents)\s([^\]\)]+)", 0, 0), "^.+$", "; $$&")
VBScript expression: checked
The third possibility could be executed in just one step with single preset, but it requires RegExp version 4.2 or newer:
Preset: Move featuring artists or [(featuring artist)] from the end of Title to multi-item Artist
Description: Title feat. Artist1 or Title [feat. Artist1] or Title (feat. Artist1) -> Artist; Artist1 (Artist field), Title (Title field)
Find what: \s*([\(|\[].*)?\b(?:ft\.?|feat\.?|featuring|vs\.?|versus|pres\.?|presents)\s.+[\)|\]]?$
Into: Title
Regular expression 1: checked
Replace with: Eval(IIf(bReplacing, "Execute(""oSongData.ArtistName = oSongData.ArtistName & RegSub(RegExpEx(oSongData.Title, """"\b(?:ft\.?|feat\.?|featuring|vs\.?|versus|pres\.?|presents)\s([^\]\)]+)"""", 0, 0), """"^.+$"""", """"; $$&"""")"")", """"""))
VBScript expression: checked