Vraag : Kolom aan Lijn

Ik heb een tekstdossier dat ik in het programma lees. De gegevens in het tekstdossier zijn geformatteerd als:

blah 34 nonsens 01/01/01

I am geinteresseerd in „34“ van die lijn. Ik wens om alle „34's“ van het dossier te nemen en hen uit te drukken in één lange lijn, met een ruimte binnen - tussen elk. Zo, als het dossier 20 lange lijnen was, dan zou de resulterende gedrukte lijn 20 punten daarin hebben.

I weet dat ik op lege ruimte kan scheiden. bijvoorbeeld heb ik iets gelijkend op het volgende in het verleden gebruikt:

while () {
mijn @f=split/\ s+/;
}


I weet of las ik de gegevens in een serie, zou ik het tweede element van elke lijn moeten kunnen drukken door iets te zeggen gelijkend op druk $f [1]. Maar ik wil niet een andere kolom met enkel de gegevens creëren die ik heb gewild, wens ik om een lijn of een rij van de gegevens uit te printen die ik heb gewild. Ik ga iets voor de gedrukte lijn uiteindelijk zetten, om een langere lijn te vormen, maar de kolom aan een lijnwerktuigkundige schijnt om aan me op het ogenblik te ontsnappen. gedachten

Any?

Antwoord : Kolom aan Lijn

ja, was de kern dat het aantal (in het voorbeeld boven „34“) in $1 wordt opgeslagen.
als u een volledige lijn wilt probeer iets als
$ret = "";
terwijl ()
{
        $_=~/^ [^ \ D] + (\ d+) [\ w \ W] +/;
        $ret. = $1. „„;
}
/* zal $ret nu al die 34's in een lijn bevatten door ruimten wordt gescheiden. */
Andere oplossingen  
 
programming4us programming4us