Hallo,
Ik probeer om een datumgebied met formaat te ontleden
dd/mm/YYYY HH: MM.: SS
soms heeft de datum slechts één cijfer en ooit slechts heeft HH één cijfer voorbeeld van input
het 9:09 van 7/03/2001: 18.034449599, BGC, WCOM, C3400
Ik wil elk gebied van de datum bekijken als er slechts cijfer I is schakel 0 voor het, voorbeeld aaneen als de dag 7 is ik 07 zette, als het uur 9 is zette ik 09. Ik wil aan elimnate ook de ruimte.
zo voor de input boven de gewenste output
is 07/03/200109: 09: 18.034449599, BGC, WCOM, C3400
:
Ik kan dd isoleren en de ruimte verwijderen maar wanneer ik niet kan om mm en HH te isoleren
voorbeeld:
#! /usr/bin/perl
#use strikt;
gebruiks waarschuwingen; mijn $inputFile; mijn $inputname = „Sample1Date.txt“; mijn $outputfile; mijn $outputname = „Sample1Date_output.txt“; mijn $line; mijn @lineParts; mijn @linePartsDay; mijn @linePartsMonth; mijn $temp2= "";
open (inputFile, „$inputname“); #open ($inputFile, „<>openen ($outputfile, „>$outputname“) || de matrijs „kan output geen dossier“ openen; mijn $temp = "";
terwijl ($line = )
{
@lineParts = verdeel „\,“, $line; mijn $date = $lineParts [0]; @linePartsDay = verdeel „\/“, $date; mijn $day = $linePartsDay [0]; druk „dag: $day \ n“;
#@linePartsMonth = verdeel „\ ^ (\ D {2}/\ D {2}/)“, $date; @linePartsMonth = verdeel „\ ^ (/)“, $date;
mijn $month = $linePartsMonth [0]; druk „maand: $month \ n“;
#$temp2 = $date; #$temp2 =~ s (\ s) +//;
#$date = $temp2; # verwijder ruimte in het midden van datum druk „datum: $date \ n“; mijn $number1 = $lineParts [1]; mijn $donor = $lineParts [2]; mijn $recipient = $lineParts [3]; mijn $routing = $lineParts [4]; $temp = $date. „,“. $number1. „,“. $donor. „,“. $recipient. „,“. $routing; druk $outputfile „$temp“;
}
#close $inputFile;
dichte $outputfile;
Ik krijg:
dag: 7 (o.k.) ik kan dan de lengte van dag bekijken als het slechts 1 cijfer is aaneenschakel 0 voor het. maand: datum: 7/03/20019: 09: 18 datum: 7/03/20019: 09: 18
Ik weet niet het hoe te om mm te isoleren, zodra ik de maand krijg die ik zou willen om isoleren yyyy HH MM. en SS en om elk gebied te controleren (zodra ik isolate I heb weet hoe te concate) het.
Ik probeerde diverse regelmatige uitdrukkingen voor het isoleren van de maand maar onbekwaam…
#@linePartsMonth = verdeel „\ ^ (\ D {2}/\ D {2}/)“, $date; @linePartsMonth = verdeel „\ ^ (/)“, $date;
mijn $month = $linePartsMonth [0]; druk „maand: $month \ n“;
Kent u hoe te de isolatie voor MM., YYYY HH de HEREN SS
|