Portál AbcLinuxu, 11. května 2025 21:18
Je-li číslo rozděleno mezerami (např. 1 650 000), odstraňte tyto mezery a číslo slepte.Napada nekoho nejaky napad? :)
s/(?<=[\d\$])\s(?=\d)//g
$promena="Cena tohoto zboží je $1,650,000.43";
Cena tohoto zboží je $1650000.43
$promenna =~ s/[0-9]\s//g;To ovšem matchne ale i poslední číslo před mezerou, kdybyste uvedl příklad využití v praxi, možná, že by to šlo zařídit jinak (pokud před číslem nejsou mezery, dá se rafinovaně použít ^ v [], apod.).
$ echo bob joe 234 745 sue ann | \
sed -e 's/[a-zA-Z ]* \([0-9]*\)/\1/g' -e 's/\([0-9]*\) \([0-9]*\)/\1\2/g' -e 's/\([0-9]*\)[a-zA-Z ]/\1/g '
234745
Bez záruky.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.