perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 40
Click for quality!




10.02.2012 / 09:50

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragString ersetzen
Seitenanfang
Hallo!

Ich habe wieder mal ein Problem mit dem String ersetzen. Ich habe eine String, der mittels Tab in 17 Felder geteilt ist. Im ersten Feld steht der Idetifier. Wird dieser erkannt, soll ersetzt werden. Ich muss nun die Werte in den Feldern 8 bis 13 austauschen. Der Rest soll gleich bleiben. So weit bin ich bereits:


s/^$identifier\t((.*\t){7})((.*\t){6})((.*\t){3})/$identifier\t$1$feld8\t$feld9\t$feld10\t$feld11\t$feld12\t$feld3\t$3/;

Der Code setzt die Felder $feld8 bis $feld13 richtig ein, nur der Block der zuerst in $3 geschrieben wird, ist nicht korrekt. Wo ist denn mein Denkfehler?

mfg, Speed

Datum: 22.02.2007-19:17

Beitragre: String ersetzen
Seitenanfang
Hallo!

Die inneren Klammern werden soviel ich weiß auch dann mitgespeichert, wenn du sie nur zur Gruppierung für die Zählung verwendest.

Also entweder explizit abschalten, mit

...((?:.*\t){7})...

oder eben $5 statt $3 nehmen.

Grüße, Skrilax

Datum: 22.02.2007-20:44

Beitragre: String ersetzen
Seitenanfang
Hallo!

Wollte grade schreiben, dass ich die Lösung mit dem ?: Operator zum Abschalten der Speicherfunktion gefunden habe ;-) Du warst wohl schneller *gg*

Trotzdem vielen Dank

Datum: 22.02.2007-21:00

-






-
-