• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

regulären Ausdruck an einem bestimmten Muster etwas hinzufügen

joon

Grahams Jubiläumsapfel
Registriert
17.06.07
Beiträge
106
Hallo Forum,

ich habe folgende Zeilen (ein paar Hundert davon), die nach folgendem Schema aufgebaut sind:
Code:
1337-8171-1798-000000094;7;1798-07;T
1337-8171-1798-000000096;7;1798-07;T
1337-8171-1798-000000097;8;1798-08;T
1337-8171-1798-000000098;8;1798-08;T

Ich möchte dass nach dem zweiten Semikolon das "1798-xx" (wobei xx zwei Ziffern sind) die Zeichenfolge "-01" drangehängt wird.

Also es sollte ungefähr so aussehen:
Code:
1337-8171-1798-000000094;7;1798-07-01;T
1337-8171-1798-000000096;7;1798-07-01;T
1337-8171-1798-000000097;8;1798-08-01;T
1337-8171-1798-000000098;8;1798-08-01;T

Ich krieg das mit den regulären Ausdrücken nicht hin...

Vielen Dank!
 

Irgendein Held

Oberösterreichischer Brünerling
Registriert
17.06.07
Beiträge
714
Beispiel fuer Ruby:
Code:
irb(main):001:0> "1337-8171-1798-000000094;7;1798-07;T".gsub(/(;\w)$/,"-01\\1")
=> "1337-8171-1798-000000094;7;1798-07-01;T"

Das Pattern ist: /(;\w)$/
Du benoetigt eine Funktion, die dir das ersetzen ermoeglicht.
In meinem Fall war das gsub. Dort setzt du dein -01 vor die Backreference \1
und das sollte es gewesen sein.


Viel Erfolg.
 

Der_Apfel

Transparent von Croncels
Registriert
03.12.07
Beiträge
305
Oder wenn du es direkt in vi ändern möchtest:

Code:
:%s/;1798-\([0-9][0-9]\);/;1798-\1-1;/g

Oder allgemeiner einfach vor das dritte Semikolon -1 schreiben:

Code:
:%s/\(;.*;.*\);/\1-1;/g
 

Irgendein Held

Oberösterreichischer Brünerling
Registriert
17.06.07
Beiträge
714
Auch da kann man sich kuerzer fassen ;)
Code:
:%s/\(;\w$\)/-01\1/g
 

joon

Grahams Jubiläumsapfel
Registriert
17.06.07
Beiträge
106
Hallo ihr beiden,

vielen Dank für die Tips!!!