Hi,
Я пытаюсь parse поле даты с формой
dd/mm/YYYY HH: MM: SS
иногда дата имеет только одно число и когда-то HH имеет только одно число пример входного сигнала
7/03/2001 9:09: 18.034449599, BGC, WCOM, C3400
Я хочу посмотреть каждое поле даты если будет только число iий конкатенируйте 0 перед им, примером если день 7, котор я кладу 07, если час 9, то я кладу 09. Я также хочу к elimnate космос.
так для входного сигнала над пожеланным выходом
07/03/200109: 09: 18.034449599, BGC, WCOM, C3400
:
Я могу изолировать dd и извлечь космос но когда я неспособен изолировать mm и HH
пример:
#! /usr/bin/perl
#use только;
используйте предупреждения; мое $inputFile; мо $inputname = «Sample1Date.txt»; мое $outputfile; мо $outputname = «Sample1Date_output.txt»; мое $line; мои @lineParts; мое @linePartsDay; мое @linePartsMonth; мое "" $temp2=;
раскройте (inputFile, «$inputname»); #open ($inputFile, «<>раскрывают ($outputfile, «>$outputname») || умрите «не смогите раскрыть выходной файл»; мо $temp = "";
пока ($line = )
{
@lineParts = разделили «\,», $line; мо $date = $lineParts [0]; @linePartsDay = разделите «\/», $date; мо $day = $linePartsDay [0]; день печати «: $day \ n»;
#@linePartsMonth = разделило «\ ^ (\ d {2}/\ d {2}/)», $date; @linePartsMonth = разделило «\ ^ (/)», $date;
мо $month = $linePartsMonth [0]; месяц печати «: $month \ n»;
#$temp2 = $date; s/=~ #$temp2 (\ s) +;
#$date = $temp2; # извлекайте космосы в середине даты дата печати «: $date \ n»; мо $number1 = $lineParts [1]; мо $donor = $lineParts [2]; мо $recipient = $lineParts [3]; мо $routing = $lineParts [4]; $temp = $date. «,». $number1. «,». $donor. «,». $recipient. «,». $routing; печать $outputfile «$temp»;
}
#close $inputFile;
близкое $outputfile;
Я получаю:
день: 7 (ОДОБРЕННЫЙ) я могу после этого посмотреть длину дня если только 1 число конкатенирует 0 перед им. месяц: дата: 7/03/20019: 09: 18 дата: 7/03/20019: 09: 18
Я не умею как изолировать mm, как только я получаю месяц, котор я хотел был бы изолировать yyyy HH MM и SS и проверить каждое поле (как только я имею изолят iего сумейте как к concate).
Судимые различные регулярно выражения iий для изолировать месяц но неспособно…
#@linePartsMonth = разделило «\ ^ (\ d {2}/\ d {2}/)», $date; @linePartsMonth = разделило «\ ^ (/)», $date;
мо $month = $linePartsMonth [0]; месяц печати «: $month \ n»;
Вы умеете как к изоляции для MM, YYYY HH MM SS
|