Výmena pozície slov pomocou regulárnych výrazov

Predstavte si vstupný feed, ktorý uvádza výrobcu, resp. autora knihy v následujúcom formáte Kundera, Milan. To sa ale do názvu, kam chcete meno autora dostať, veľmi nehodí. Oveľa lepšie by to bylo pekne slovensky – teda Milan Kundera. 
 
Ibaže – ako slová prehodiť a ako odstrániť čiarku medzi slovami?
 
Pre problémy, ktoré sa zdajú na prvý pohľad závažné, sú tu reguláry. Ak ste už od jesene zabudli, čo sa za týmto strohým pojmom skrýva, odporúčame pre osvieženie PDF s regulármi.
 
Ale späť k problému. 
 
1) Začneme s odstránením čiarky, a to pomocou pravidla Nájsť a nahradiť.
 
 
2) Prehodenie dvoch slov oddelených medzerou vykonáme pomocou rovnakého pravidla a regulárneho výrazu: 
 
nájsť: (\w+) (\w+) a nahradiť: \2 \1
 
 
Výsledok potom bude vyzerať nasledovne:
 
 
Ak chcete vypísať meno autora do názvu produktu, môžete využiť pravidlo typu Prepísať a pomocou elementov názov produktu upraviť:
 
 
 
V prípade ďalších mien, ktoré obsahujú aj iné znaky ako písmená (napr. James B. Jones alebo Hana Nováková-Dvořáková) je nutné regulárny výraz upraviť. Pokiaľ si nebudete vedieť rady, kľudne sa ozvyte na podporu Mergada alebo napíšte do fóra!
 

Pridať nový komentár