Shorten Words

Hello. Please excuse my english. Is not that good.
I am a new user of mp3tag and is really awesome. Thank you very much for this useful and great work.

Unfortunately i am just learning about regular expressions, so this is my issue:
I want to shorten the Artist Name and Title name this way;

  1. Artist Name.
    a. I want to preserve only the first letter for all words with maximum 3 letters
    b. Then for the rest of the words i want to preserve the first 3 letters:

    Arctic Monkeys : ArcMon
    Alice In Chains : AliICha
    Faith No More : FaiNMor
    Guns And Roses: GunARos

  2. Title Name. I want to preserve only the first Letter of every word except for the last word. Last word would not be shortened. Titles with just one word would remain unchanged.

    Here Comes The Rain Again : HCTRAgain
    My Immortal : MImmortal
    Love Hate Love: LHLove

Well, i hope you could help me.

Thank you very much pals.

Carlos Enrique.

Before anybody starts wrinkling his brain:

What about
initials, (e.g. Andrea T. Mendoza)
single name names (e.g. ABBA)
non-letters (numbers, ampersand e.g. Booker T. & MGs, 50 Cent)
names with 3 or less letters (e.g. Al Jarreau)
name extensions (e.g. Sammy Davis jr., Booker Newberry III)
names that are already short (e.g. DJ FK)

Do you really want to get rid of perfectly sound data and replace it with an arbitrary heap of letters?

Everything is possible as soon as you define clear and strict rules. We are "intelligent" and deviate many times from the main rule. Program is no intelligent but strictly follows our orders.
Do you want always to follow those rule?
Please specify if you foresee any exceptions.
Thank you.

Here you go.

  1. Artist Action: Replace with regular expression Regexp
    \W|^\W*(\b\w+\b)\W*$|\b(\w{3})\w+\b|\b(\w{1})\w*?\b
    

    replace with: $1$2$3
    or replace with: $caps($1)$caps($2)$caps($3) if you want to fix the first letter case.

  2. Title
    Action: Replace with regular expression
    \W|\b(\w)\w*\b(?=.*?\b\w+\b)
    

    replace with: $1
    or replace with: $caps($1) if you want to fix the first letter case.


Good luck with your quest.

Thank you very much for your concern.
I will apply the rules to "selected" songs in selected folders.
These will be "showing" their abbreviated data in a limited car-radio screen.
I will maintain the original source with the standard data.
Thank you again.

Victor, thank you very much for taking the time to help.
I will try this later and i will be careful.
I´ll give you feedback tomorrow.
Best regards.

No problem.
I just checked in mp3tag and I found a small typo (already have edited my first post).
Below works 100% as per your request.

  1. Artist
    Regexp: \W|^\W*(\b\w+\b)\W*$|\b(\w{3})\w+\b|\b(\w{1})\w*?\b
    Replace with: $1$2$3
  2. Title
    Regexp: \W|\b(\w)\w*\b(?=.*?\b\w+\b)
    Replace with: $1