Ciao,
Sto provando a analizzare un campo della data con la disposizione
dd/mm/YYYY HH: Millimetro: Ss
a volte la data ha soltanto una cifra ed un momento il HH ha soltanto una cifra esempio di input
7/03/2001 di 9:09: 18.034449599, BGC, WCOM, C3400
Voglio esaminare ogni campo della data se ci è soltanto cifra I concatenargli un 0, esempio se il giorno è 7 che metto 07, se l'ora è 9 metto 09. Inoltre voglio a elimnate lo spazio.
così per l'input sopra l'uscita voluta
è 07/03/200109: 09: 18.034449599, BGC, WCOM, C3400
:
Posso isolare il dd e rimuovere lo spazio ma quando non posso per per isolare il millimetro e il HH
esempio:
#! /usr/bin/perl
#use rigoroso;
usare gli avvertimenti; il mio $inputFile; mio $inputname = “Sample1Date.txt„; il mio $outputfile; mio $outputname = “Sample1Date_output.txt„; il mio $line; i miei @lineParts; il mio @linePartsDay; il mio @linePartsMonth; il mio "" di $temp2=;
aprir (inputFile, “$inputname„); #open ($inputFile, “<>si aprono ($outputfile, “>$outputname„) || morire “non può aprire l'archivio di uscita„; mio $temp = "";
mentre ($line = )
{
i @lineParts = hanno spaccato “\,„, $line; mio $date = $lineParts [0]; @linePartsDay = spaccare “\/„, $date; mio $day = $linePartsDay [0]; giorno della stampa “: $day \ n„;
il #@linePartsMonth = ha spaccato “\ ^ (\ d {2}/\ d {2}/)„, $date; il @linePartsMonth = ha spaccato “\ ^ (/)„, $date;
mio $month = $linePartsMonth [0]; mese della stampa “: $month \ n„;
#$temp2 = $date; s del =~ #$temp2 (\ s) +;
#$date = $temp2; # rimuovere gli spazi verso la metà della data data della stampa “: $date \ n„; mio $number1 = $lineParts [1]; mio $donor = $lineParts [2]; mio $recipient = $lineParts [3]; mio $routing = $lineParts [4]; $temp = $date. “,„. $number1. “,„. $donor. “,„. $recipient. “,„. $routing; stampa $outputfile “$temp„;
}
#close $inputFile;
$outputfile vicino;
Ottengo:
giorno: 7 (GIUSTO) posso allora esaminare la lunghezza del giorno se è soltanto 1 cifra gli concatena un 0. mese: data: 7/03/20019: 09: 18 data: 7/03/20019: 09: 18
Non so isolare il millimetro, una volta che ottengo il mese che vorrei isolare il yyyy il HH il millimetro e gli ss e controllare ogni campo (una volta che ho isolato I conoscere come a concate).
Ho provato le vari espressioni normali per l'isolazione del mese ma incapace…
il #@linePartsMonth = ha spaccato “\ ^ (\ d {2}/\ d {2}/)„, $date; il @linePartsMonth = ha spaccato “\ ^ (/)„, $date;
mio $month = $linePartsMonth [0]; mese della stampa “: $month \ n„;
Conoscete come all'isolamento per il millimetro, YYYY HH IL millimetro ss
|