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