Schrift
[thread]12892[/thread]

Probleme mit Reg. Exp.

Leser: 1


<< >> 5 Einträge, 1 Seite
roli
 2008-12-11 12:07
#117079 #117079
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich muss eine XML Datei bearbeiten, die innerhalb der Tags "zuviele" Leerzeichen enthaelt. Ich moechte alle Leerzeichen die aufeinander folgen durch ein einzelnes ersetzen, leider habe ich wohl gerade ein Brett vor dem Kopf. Die Leerzeichen vom Zeilenanfang bis zum Tag sollen erhalten bleiben.
Code: (dl )
                            <Name>abc. DEF                                XYZ 123</Name>

ich habe folgendes, was jedoch nicht funktioniert:
Code (perl): (dl )
($letzte_zeile = $letzte_zeile) =~ s/(.*>?) +/$1 /g;


Danke
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
roli
 2008-12-11 12:49
#117082 #117082
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,

ich hab's:
Code (perl): (dl )
($letzte_zeile = $letzte_zeile) =~ s/(\S+?) +(\S+?)/$1 $2/g;
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
Gast Gast
 2008-12-11 13:30
#117087 #117087
warum so kompliziert?
Code (perl): (dl )
$letzte_zeile=~ s/ +/ /g;
oder wenn auch "tabs" und co gefunden werden sollen:
Code (perl): (dl )
$letzte_zeile=~ s/\s+/ /g;
Gast Gast
 2008-12-11 13:34
#117088 #117088
Entschuldige nicht genau gelesen.
So geht es auch:
Code (perl): (dl )
$letzte_zeile=~ s/(?<=\S) +(?=\S)/ /g;

siehe "lookbehind" und "lookahead" in "perlre".
roli
 2008-12-11 13:48
#117090 #117090
User since
2004-12-31
424 Artikel
BenutzerIn
[default_avatar]
Hi,

danke für die Antwort. Den Hinweis zu dem Lookbehind und Lookahead werde ich aufnehmen und (hoffentlich) beim nächsten mal berücksichtigen.

Danke
Roland
--
"Steh vorn, während du fragst;
sitzen soll, wer antwortet."
Aus "Die Edda des Snorri Sturluson" "Gylfis Täuschung" Strophe 2
<< >> 5 Einträge, 1 Seite



View all threads created 2008-12-11 12:07.