Bonjour,
J'essaye d'analyser un champ de date avec le format
dd/mm/YYYY HH : Millimètre : Solides solubles
parfois la date a seulement un chiffre et autrefois le HH a seulement un chiffre exemple d'entrée
7/03/2001 9h09 : 18.034449599, BGC, WCOM, C3400
Je veux regarder chaque champ de la date s'il y a seulement le chiffre I enchaîner un 0 devant lui, exemple si le jour est 7 que je mets 07, si l'heure est 9 je mets 09. Je veux également à l'elimnate l'espace.
ainsi pour l'entrée au-dessus du rendement désiré
est 07/03/200109 : 09 : 18.034449599, BGC, WCOM, C3400
:
Je peux isoler la densité double et enlever l'espace mais quand je ne peux pas pour isoler le millimètre et le HH
exemple :
# ! /usr/bin/perl
#use strict ;
employer les avertissements ; mon $inputFile ; mon $inputname = « Sample1Date.txt » ; mon $outputfile ; mon $outputname = « Sample1Date_output.txt » ; mon $line ; mes @lineParts ; mon @linePartsDay ; mon @linePartsMonth ; mon "" de $temp2= ;
s'ouvrir (inputFile, « $inputname ») ; #open ($inputFile, « <>s'ouvrent ($outputfile, « >$outputname ») || mourir « ne peut pas ouvrir le dossier de rendement » ; mon $temp = "" ;
tandis que ($line = )
{
les @lineParts = ont dédoublé « \, », $line ; mon $date = $lineParts [0] ; @linePartsDay = dédoubler « \/ », $date ; mon $day = $linePartsDay [0] ; jour d'impression « : $day \ n » ;
le #@linePartsMonth = a dédoublé « \ ^ (\ d {2}/\ d {2}/) », $date ; le @linePartsMonth = a dédoublé « \ ^ (/) », $date ;
mon $month = $linePartsMonth [0] ; mois d'impression « : $month \ n » ;
#$temp2 = $date ; s du =~ #$temp2 (\ s) + ;
#$date = $temp2 ; # enlever les espaces au milieu de la date date d'impression « : $date \ n » ; mon $number1 = $lineParts [1] ; mon $donor = $lineParts [2] ; mon $recipient = $lineParts [3] ; mon $routing = $lineParts [4] ; $temp = $date. « , ». $number1. « , ». $donor. « , ». $recipient. « , ». $routing ; copie $outputfile « $temp » ;
}
#close $inputFile ;
$outputfile étroit ;
J'obtiens :
jour : 7 je (BIEN) peux alors regarder la durée de jour si c'est seulement 1 chiffre enchaînent un 0 devant lui. mois : date : 7/03/20019 : 9h18 date : 7/03/20019 : 9h18
Je ne sais pas isoler le millimètre, une fois que j'ai le mois où je voudrais isoler le yyyy le HH le millimètre et les solides solubles et pour vérifier chaque champ (une fois que j'ai l'isolat I savoir au concate).
J'ai essayé de divers expressions régulières pour isoler le mois mais incapable…
le #@linePartsMonth = a dédoublé « \ ^ (\ d {2}/\ d {2}/) », $date ; le @linePartsMonth = a dédoublé « \ ^ (/) », $date ;
mon $month = $linePartsMonth [0] ; mois d'impression « : $month \ n » ;
Vous savez à l'isolement le millimètre, YYYY HH LE millimètre solides solubles
|