Regex Forfatternavne Inverterede

Fælles for alle typer navnekonvertering:

Fjern først alle punktummer efter evt. initialer
Erstat alle bindestreger med mellemrum
Fjern alle endestillede blanktegn, evt. flere gange

Adskille navne fra afillieringsstreng:

\t(.*?)\., - fanger alle efternavne, initialer med punktum, bindestreger hvis navnet er adskilt fra affiliation med komma.

Konvertering af fulde navne til efternavn, initialer:

En navneliste kan konverteres med følgende regex, først for alle navne med 1 fornavn, derefter med 2 og opefter.
I mange tilfælde er det også nødvendigt at angive et mønster for teksten omkring navnet, f.eks.: tabulator før, linieskift efter for at undgå match uventede steder i øvrige tekst

Med efternavn + 1 fornavn:

([\w\ \-]*+), (\w)([\w\-]*+) erstat med \1, \2

Med efternavn + 2 fornavne:

([\w\ \-]*+), (\w)([\w\-]*+) (\w)([\w\-]*+) erstat med \1, \2\4

Med efternavn + 3 fornavne:

([\w\ \-]*+), (\w)([\w\-]*+) (\w)([\w\-]*+) (\w)([\w\-]*+) erstat med \1, \2\4\6

eks.:
Hansen, Anne Margrethe Kristine » Hansen, AMK
Juul-Nielsen, Anne Margrethe Kristine » Juul-Nielsen, AMK

Adskille navne med initialer fra efterfølgende tekst

F.eks. Label <tab> Efternavn, Initialer., Rest af linie

^(.*?) ([\w\ \-]*+), ([\w\.\-\ ]*?)$

Hvis man ønsker at arbejde med de enkelte initialer:

(\d{2}) ([\w\ \-]*+), (\w)\.(\w)\.(\w)\. erstat med \1\ \2, \3.\4.\5.\t

Arbejde med initialer i alm.:

^(.*?) ([\w\ \-]*+), ([\w-])\.([\w-])\.([\w-])\.\,

Eller: arbejde med negationer: ikke punktum

(.*?) (.*?), (\w)([^\.\r\n]*?) (\w)([^\.\r\n]*?) (\w)([^\.\r\n]*?)$ erstat med \1 \2, \3.\5.\7.
- laver fornavne om til initialer med punktum


Testnavne

Hansen, Jens
Hansen, Jens Ole
Hansen, Jens O
Hansen, Jens O.
Hansen, J.O.
Hansen, JO
Hansen, J.Jø.
Hansen, J-Jø.

Juul Nielsen, Peter
Juul-Nielsen, Peter
Juul Nielsen, P
Juul-Nielsen, P.

Juul Nielsen, Jens-Peter
Juul-Nielsen, Jens-Peter
Juul-Nielsen, JP
Juul-Nielsen, J.P.


Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-ShareAlike 3.0 License