regexp
Petr Vileta
petr na practisoft.cz
Pondělí Září 15 02:48:26 MEST 2003
Mam nejaky ciselny kod, ktery se vyznacuje tim, ze vyznam maji vzdy dvojice
cisel. Tento kod je ulozen v SQL databazi a pro jeho vyhledavani potrebuji
nahradit vsechny dvojice nul dvema podtrzitky. Chtel jsem na to pouzit
regexp, ale problem je, ze by to melo nahrazovat od konce k zacatku, k cemuz
jsem regexp nedokazal presvedcit.
Vysledky by mely vypadat asi takhle:
(pro vetsi prehlednost jsem podtrzitka zamenil za hvezdicky)
Vstup Vystup
010000 01****
010100 0101**
011000 0110**
Nakonec jsem to vyresil takhle:
$kod=konverze('010000'); print "$kod\n";
$kod=konverze('010100'); print "$kod\n";
$kod=konverze('011000'); print "$kod\n";
sub konverze
{
$k=reverse($_[0]);
$k=~s/0{2}/**/g;
return reverse($k);
}
ale nejsem s tim vubec spokojeny. Neslo by to napsat chytreji?
--
Petr
Další informace o konferenci Perl