Hallo,
Ich versuche, ein Datumfeld mit Format zu analysieren
dd/mm/YYYY HH: Millimeter: SS
manchmal hat das Datum nur eine Stelle und einmal hat das HH nur eine Stelle Beispiel des Einganges
7/03/2001 9:09: 18.034449599, BGC, WCOM, C3400
Ich möchte jedes Feld des Datums betrachten, wenn es nur Stelle I gibt 0 vor ihm, Beispiel verketten, wenn der Tag 7 ist, die ich 07 setze, wenn die Stunde 9 ist, setze ich 09. Ich wünsche auch zum elimnate den Raum.
so für den Eingang über dem gewünschten Ausgang
ist 07/03/200109: 09: 18.034449599, BGC, WCOM, C3400
:
Ich bin in der Lage, das DD zu lokalisieren und den Raum zu entfernen aber, wenn ich nicht imstande bin zu den Millimeter und das HH lokalisieren
Beispiel:
#! /usr/bin/perl
#use streng;
Warnungen verwenden; mein $inputFile; mein $inputname = „Sample1Date.txt“; mein $outputfile; mein $outputname = „Sample1Date_output.txt“; mein $line; meine @lineParts; mein @linePartsDay; mein @linePartsMonth; mein $temp2= "";
öffnen (inputFile, „$inputname“); #open ($inputFile, „<>öffnen sich ($outputfile, „>$outputname“) || sterben „kann Ausgabedatei nicht öffnen“; mein $temp = "";
während ($line = )
{
@lineParts = spalteten „\,“, $line auf; mein $date = $lineParts [0]; @linePartsDay = „\/“ aufspalten, $date; mein $day = $linePartsDay [0]; Druck„Tag: $day \ n“;
#@linePartsMonth = spaltete „\ ^ auf (\ d {2}/\ d {2}/)“, $date; @linePartsMonth = spaltete „\ ^ (/)“, $date auf;
mein $month = $linePartsMonth [0]; Druck„Monat: $month \ n“;
#$temp2 = $date; =~ #$temp2 s (\ s) +;
#$date = $temp2; # Räume mitten in Datum entfernen Druck„Datum: $date \ n“; mein $number1 = $lineParts [1]; mein $donor = $lineParts [2]; mein $recipient = $lineParts [3]; mein $routing = $lineParts [4]; $temp = $date. „,“. $number1. „,“. $donor. „,“. $recipient. „,“. $routing; Druck $outputfile „$temp“;
}
#close $inputFile;
nahes $outputfile;
Ich erhalte:
Tag: 7 (OKAY) ich kann die Länge des Tages dann betrachten, wenn es nur 1 Stelle verkettet 0 vor ihm ist. Monat: Datum: 7/03/20019: 09: 18 Datum: 7/03/20019: 09: 18
Ich kann nicht den Millimeter lokalisieren, sobald ich den Monat erhalte, den ich lokalisieren möchte das yyyy das HH der Millimeter und die SS und jedes Feld überprüfen (sobald ich Isolat I habe zum concate können).
Ich versuchte verschiedene reguläre Ausdrücke für die Isolierung des Monats aber nicht imstande…
#@linePartsMonth = spaltete „\ ^ auf (\ d {2}/\ d {2}/)“, $date; @linePartsMonth = spaltete „\ ^ (/)“, $date auf;
mein $month = $linePartsMonth [0]; Druck„Monat: $month \ n“;
Können Sie zur Lokalisierung für Millimeter, YYYY HH Millimeter SS
|