String splitten und wieder zusammenbauen
Thomas
- perl
Hallo,
bitte helft mir mal.
$record =(String mit Trennzeichen:|)
Jetzt sollen 2 Strings vertauscht werden.
z. B. der 4. gegen den 5.
Ich hab mal so angefangen:
@dbfields = split (/|/, $record);
Jetzt sollte der String gesplittet sein.
Wie krieg ich den aber nach meinen Vorstellungen wieder zusammen?
Viele Grüße und Danke für Hilfe, Thomas
Hallo,
@dbfields ist das Array auf dessen "Einzelteile" Du zugreifen kannst mit $dbfields[0], $dbfields[1], $dbfields[2] usw.
Beim Speichern muss halt $dbfields[5] und dann $dbfields[4] gespeichert werden in der Zeile.
Gruß Helmut
Danke für die klare Antwort, ich hab´s verstanden.
Grüße, Thomas
Hi
$record =(String mit Trennzeichen:|)
Jetzt sollen 2 Strings vertauscht werden. z. B. der 4. gegen den 5.
Jetzt sollte der String gesplittet sein.
Wie krieg ich den aber nach meinen Vorstellungen wieder zusammen?
Oder direkt via RegEx. Du packst die ersten 3 "Felder" in die erste Klammer, dann das 4 und das 5 jeweils in eine Klammer und dann den ganzen Rest in die 4. Klammer. Und im "ersetzen"-Teil vertauscht du halt Klammer 2 und 3...
$record =~ s/^([^|]*|[^|]*|[^|]*)|([^|]*)|([^|]*)|([^\n]*\n)/$1|$3|$2|$4/;
...habs nicht ausprobiert, aber das müßte wohl ungeähr hinkommen ;)
Gruß