|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
Split
|
Seitenanfang |
Hallo Allezusammen, Ich hab ein Problem mit split. Und zwar habe ich einen String in folgendem Format: |Tab1|Tab2|Tab3|[[Link|Tab4]]|Tab5
Mit folgendem Code kann ich jede einzelne Tabelle einzeln abarbeiten: @temparray = split(/\|/, $_) ; foreach $temp1 (@temparray) { ... }
Ich habe nur das Problem, dass der Link [[Link|Tab4]] auch als Trenner erkannt wird. Hier genau setzt dann auch meine Frage an. Wie muss ich das Programm abändern, dass "|" innerhalb eines "[[(.+?)]]" Konstruktes, nicht als Trenner interpretiert wird?
Datum: 12.02.2007-11:59

|
re: Split
|
Seitenanfang |
| Hallo Benni, in meinem Bsp. ersetze ich zunächst alle '|' durch 'neues_splitt_zeichen' und anschließend nur das 'neues_splitt_zeichen' innerhalb der eckigen Klammern zurück in ein '|', damit der Inhalt unverändert bleibt: $scalar = "|Tab1|Tab2|Tab3|[[Link|Tab4]]|Tab5"; $scalar =~ s/\|/neues_splitt_zeichen/g; $scalar =~ s/(\[[^\[]*)(neues_splitt_zeichen)([^\|]*\])/$1|$3/g; @array = split("neues_splitt_zeichen",$scalar);
Datum: 12.02.2007-13:37

|
re: Split
|
Seitenanfang |
| Danke TommyB, ist zwar ein Workaround. Aber die Hauptsache ist, dass funktioniert. Und das tut es. Vielen vielen Dank. Thumbs up !!!
Datum: 12.02.2007-15:25

|
|

|

|

|
 |

|

|
|