Thomas: String splitten und wieder zusammenbauen

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

  1. 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

    1. Danke für die klare Antwort, ich hab´s verstanden.

      Grüße, Thomas

  2. 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ß