Thread array splitten und in string überführen (15 answers)
Opened by anou at 2010-10-31 20:53

Linuxer
 2010-10-31 23:45
#142376 #142376
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Grundlegend reden^Wschreiben wir nun vom selben Prinzip; lediglich ein paar Kleinigkeiten sind noch unstimmig.

Code: (dl )
1
2
a1 a2 A2 A2 A3 a4 a5 a6
b1 b2 B1 B2 B3 b4 b5 b6


Ich habe das b1 bisher so aufgefasst, dass hier ein anderer Wert als a1 gemeint ist und habe eben angenommen, dass das erste Array dementsprechend viele Elemente beinhalten müsste.
Es scheint aber so zu sein, dass das erste Array nur ein Element beinhaltet (nämlich "a1...a6") (was Du mit "nur eine Zeile" versuchtest klar zu machen).
Und dass Du im obigen Beispiel meinst, dass b1 eigentlich a1 ist, (usw.).

Diesen String willst Du nun jeweils mit den Elementen des zweiten Array verbunden sehen.


Hm, dann wär ich hier:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#! /usr/bin/perl
use strict;
use warnings;
use Data::Dumper;

# datei oeffnen, etc.

my @array = (
    'a1 a2 a3 a4 a5 a6',
);

my @spalten = split m{ }, $array[0];


# "datei" auslesen
while ( my $line = <DATA> ) {
    
    chomp $line;                # umbruch entfernen

    # Sollte 3 Felder (z.B. A,A1,A2) ergeben
    my @fields = split m{ }, $line;
    my @result = @spalten;
    splice(@result, 2, 0, @fields );

    print join( ', ', @result ), "\n";
}

__DATA__
A1 A2 A3
B1 B2 B3
C1 C2 C3


resultiert in:

Code: (dl )
1
2
3
a1, a2, A1, A2, A3, a3, a4, a5, a6
a1, a2, B1, B2, B3, a3, a4, a5, a6
a1, a2, C1, C2, C3, a3, a4, a5, a6


edits: Satz hinzugefügt
Last edited: 2010-10-31 23:51:38 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread array splitten und in string überführen