Forum: PC-Programmierung Regulärer Ausdruck


von Stefan B. (-stefan-)


Lesenswert?

Hallo,

Habe das Problem, dass ich einen Text folgender Formatierung habe:

kjasdfkjasfjasdklfjasldfjaskldfjasdklfjasghoierfiwefnasdf...

Nun soll zwischen jedes 4 Zeichen ein ';'

sprich:
kjas;dfkj;......

Kennt jemand sich jemand damit aus wie man Text einfügen kann? Oder kann 
man tatsächlich nur ersetzten/löschen?

Gruß

von Chris K. (chrisk86)


Lesenswert?

Mit dem RegEx-Ausdruck
1
(\w{4})
 und dem Replace-String
1
$1;
 wird aus
1
kjasdfkjasfjasdklfjasldfjaskldfjasdklfjasghoierfiwefnasd
 das hier:
1
kjas;dfkj;asfj;asdk;lfja;sldf;jask;ldfj;asdk;lfja;sgho;ierf;iwef;nasd;

In PHP könntest du es so machen;
1
$result = preg_replace('/(\\w{4})/', '$1;', $src);
oder so:
1
$result = ereg_replace('(\\w{4})', '\\1;', $src);

In Java so:
1
String resultString = subjectString.replaceAll("(\\w{4})", "$1;");

Brauchst du es noch für eine andere Programmiersprache?

Chris

Edit: Code-Tags hinzugefügt...

von Klaus W. (mfgkw)


Lesenswert?

hier in der Kommandozeile:
1
klaus@i4a:~ > echo "kjasdfkjasfjasdklfjasldfjaskldfjasdklfjasghoierfiwefnasdf" | sed -e 's/\(....\)/\1;/g'
2
kjas;dfkj;asfj;asdk;lfja;sldf;jask;ldfj;asdk;lfja;sgho;ierf;iwef;nasd;f

von Stefan B. (-stefan-)


Lesenswert?

Ja, super. Danke euch beiden. Funktioniert einwandfrei.

Wäre ehrlich gesagt dran verzweifelt ohne Hilfe.

Gruß
Stefan

von Gast (Gast)


Lesenswert?

Für python re kann ich kodos empfehlen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.