Perlben hogyan tudnám minden sorból kiszedni az utolós egész számot?
hálás köszönet
közben eszembe jutott, hogy jó lenne még egyszerre kiszedni a legelső egészet is $1 $2-be.
"közben eszembe jutott, hogy jó lenne még egyszerre kiszedni a legelső egészet is $1 $2-be."
Ha csak a legelsot akarod, akkor az csak $1. Ezt viszont egy sima regexp megoldja, ugyanis az elso talalattal visszater a pattern match.
perl -le '$s = "Cirmos 23425 cica 2039 hajj, hova 2034 lett a 324 vaj?"; $s =~ /(\d+)/; print $1 if $1'
Itt egy kondicio is benne van, hogy csak akkor irja ki, ha talal valamit. Vagy, ha mindet ki akarod szedni, akkor a pattern match utan a g (global) kapcsolot kell betenni, ami vegigmegy a stringen, ha egy loopba teszed:
perl -le '$s = "Cirmos 23425 cica 2039 hajj, hova 2034 lett a 324 vaj?"; while($s =~ /(\d+)/g){ print $1 }'
Ha csak az elso kettot akarod:
perl -le '$s = "Cirmos 23425 cica 2039 hajj, hova 2034 lett a 324 vaj?"; $s =~ /\D+(\d+)\D+(\d+)/; print "$1, $2" if $1 and $2'
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!