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