Slozitejsi nahrazovani retezcu

Pavel Lisy pali na tmapy.cz
Pondělí Leden 28 09:43:05 CET 2002


On Ne, 2002-01-27 at 19:10, Pavel Kankovsky wrote:
> On 25 Jan 2002, Pavel Lisy wrote:
> 
> >    $line =~ s/(\d{4})-(\d{2})-(\d{2})/&correctdate($1:$2:$3)/; 
> 
> Pomineme-li jine chyby (chybejici /e, zrejme chybejici /g, carky mezi
/eg tam skutecne chybelo, g - jsem zapomel, e - jsem potreboval
napovedet
> parametry, ne uplne dobre predavani parametru do correctdate()), tak
> nejvetsi chybou je, ze je to zbytecne slozite. Staci totiz:
> 
>   $line =~ s/(\d{4})-(\d{2})-(\d{2})/$3-$2-$1/g;
problem byl v tom, ze bylo potreba zmenit pouze nektere datumy (import
probehl spatne pouze u nekterych datumu (kde to po prohozeni mesice a
dne nedavalo smysl) a potom se do databaze navic vkladala dalsi data
spravne. Cili zmatek.


> (mimochodem...ve vysledky mela byt ta cisla oddelena
> jak? pomlckami? dvojteckami?)
> 
> Coz dava navod, jak to same udelat ve vi ci vimu:
> 
>   :%s/\([0-9][0-9][0-9][0-9]\)-\([0-9][0-9]\)-\([0-9][0-9]\)/\3-\2-\1/g
> 
> (vim mozna umi sofistikovanejsi zapisy regularnich vyrazu, takze by to
> tam slo napsat jednoduseji)
Umi to lepe, ale zrovna ve funkci search() to nejde.


Pavel
-- 
Pavel Lisy <pali na tmapy.cz>
T-MAPY spol. s r.o., http://www.tmapy.cz
Nezvalova 850, Hradec Kralove, 50003
tel: +420-49-5513335 fax: +420-49-5513371

O mapach vime vse: http://www.tmapserver.cz



Další informace o konferenci Linux