Forfatternavne

Invertering af navne

I en navneliste med formatet: postnr Fornavn(e) Efternavn kan den direkte navneform inverteres med:

4 led:

(.*?)\t([^ \n\r,]*?) ([^ \n\r,]*?) ([^ \n\r,]*?) ([^ \n\r,]*?)$

erstat med:

\1\t\5, \2 \3 \4

3-led:

(.*?)\t([^ \n\r,]*?) ([^ \n\r,]*?) ([^ \n\r,]*?)$

erstat med:

\1\t\4, \2 \3

2-led:

(.*?)\t([^ \n\r,]*?) ([^ \n\r,]*?) ([^ \n\r,]*?)$

erstat med:

\1\t\4, \2 \3

Hvordan: post_id TAB Fornavn1 fornavn2 fornavn3 Efternavn bliver til: post_id TAB Efternavn, Fornavn1 fornavn2, fornavn3
Hvert navneelement fanges af ([^ \n\r]*) = alle tegn, der ikke er blanktegn, komma eller linieskift.

Efternavn, Fornavn(e) til Efternavn Initial(er)

([^,\n\r]*?), (\w)([^,\n\r\.\t]*?) (\w)([^,\n\r\.\t]*?) (\w)([^,\n\r\.\t]*?)

erstat med:

\1, \2.\4.\6.

Gælder tre fornavne. Gå "baglæns" - to fornavne, eet fornavn
Sæt et ^foran, hvis navnet står først på linien
Bevar punktummerne indtil alle fornavne er omdannet til initialer.

Isolere et navn med initialer fra adressestreng:

Simpleste metode:

\t([^,\n\r]*?), ([^,\n\r]*?),[ ]

erstat med

\t\1, \2\t

Hvis man ønsker at skille en forfatterstreng med mange navne fra en adresse- (eller titel-)streng, kan man benytte Negative Lookahead, f.eks.:

\.,(?!.*\.,)

- erstat med
.,\t
Medmindre andet er angivet, er indholdet af denne side licenseret under Creative Commons Attribution-ShareAlike 3.0 License