Oprava parametra cez Najst a nahradit

Ahoj, potreboval by som z parametra Objem, vytiahnut len cislo a pomocou pravidla najst a nahradit, povodnu hodnotu v parametri nahradit za cislo a pridat " l " (litre)

skusil som nieco taketo ale pravidlo neprechadza + potrebujem pridat tie litre

Potreboval by som pomoc, dakujem

2 Likes

To by chtělo ještě uvést příklad, jak hodnota v tom parametru objem vypadá (tj. z jakého textu se má vytáhnout jen číslo), protože bez toho nejde poradit. :wink:

napriklad takto vyzera hodnota v parametri objem : Futura 26. Skusal som takyto zapis


avsak nerozumiem preco mi nevezme do skupiny s cislom pod zapisom \d+ aj to cislo “2”, skusal som aj pomocou \d{1,2} a ine zapisy ale nic nefunguje. Nerozumie ako je mozne ze to cislo 2 vzdy spadne pod zapis (^.*). Nemalo by to dvohciferne 25 cislo byt uz samostatna skupina pod zapisom \d+?

ked pouzijem takyto zapis (^.\s)(\d+)(.$), takt to funguje problem je ze medzi textom Futura a cislo 26 nemusi byt vzdy aj medzera. Moze to byt aj Futura26, a to sa mi nedari osetrit

1 Like

Protože regulární výrazy se přirozeně snaží obsáhnout co nejvíce znaků mohou, jsou tzv. greedy (nenasytné, hladové) a tak regulární výraz .* zasáhne až do toho prvního čísla (snaží se zachytit co nejvíc znaků může) a pro následný výraz \d+ zbude už jen ta druhá číslice, což stále splní zadání, co má regulární výraz najít. :slight_smile:

Vyzkoušejte v MERGADU → v pravidle Najít a nahradit tohle:

  • do pole Najít zadejte regulární výraz: (.*?)(\d+)(.*)
  • do pole Nahradit zadejte: \2 l

Což by mělo fungovat přesně, jak potřebujete. Ukázka zde: https://regex101.com/r/zSMHfE/1 + screen:


Na závěr přidávám tip na jednu novinku týkající se regulárních výrazů: :new:

:bulb: Mrkněte se na náš zbrusu nový e-book plný příkladů a vysvětlení regulárních výrazů, stáhnout si jej můžete zdarma a najdete tam z výše uvedeného příkladu:

  • jak lze zkrotit přirozenou rozpínavost regulárních výrazů
  • jak použít zpětnou referenci
  • a mnoho dalších ukázek v konkrétních příkladech. :teacher:
2 Likes

Dostudujem, dakujem za vysvetlenie. Funguje tak ako som chcel.

2 Likes