Zeilenumbruch entfernen mit s/\015\012|\015|\012/<br>/sg; ??
Aquariophile
- perl
Hallo!
Dieses Ding da entfernt Zeilenumbrüche in Perl
Wenn ich nach \n oder \n\r oder sowas suchen würde,
waere es logisch.
Aber dieser Zahlencode ist mir unklar.
$text =~ s/\015\012|\015|\012/<br>/sg;
Nur "hinnehmen" will ich es nicht
Ich will es verstehen und anzuwenden lernen.
Wer hat Deutschsprachige infos dazu?
Danke!
Aquariophile
Hallo!
Guten Morgen
Wer hat Deutschsprachige infos dazu?
Hmm, mir würde zwar schon was einleuchtendes dazu einfallen ...die Zahlen sind ja schon "urgendwie auffällig" gell? ;) ...Aber bevor ich was falsches sage, frag doch mal bei http://www.perlboard.de
..wenn man dir da nicht helfen kann, dann kann das wohl niemand auf dieser Erde ;-)
Danke!
Bitte
Aquariophile
WFUX
Hallo Aqua,
da gibt es natürlich hier schon ganz viele Threads zu dem Thema, aber es kann ja nix schaden, noch einen hinzuzufügen:
Zeilenumbrüche werden in den verschiedenen Betriebssystemen unterschiedlich gekennzeichnet:
System Hexcode Dezcode Oktalcode Escape-Zeichen Mnemonic
Unix 0D #10 012 \n LF
MAC 0D #13 015 \r CR
DOS/WIN 0D0A #13#10 015/013 \r\n CRLF
Der "Universalzeilenumbruch" aus DOS lautet also Carriage Return (CR) Line Feed (LF) und nicht, \n\r wie Du es geschrieben hast. Die Reihenfolge ist meistens relevant.
Da man nun nie weiß, aus welchem System eine Date stammt, wird folgendermaßen ersetzt:
Erst alle Doppelzeichen aus DOS /015/013
dann alle übriggebleibenen einfachen aus MAC /015
dann noch alle restlichen aus Unix /013
Wenn man das nun alles hintereinder schreibt bedeutet es:
Ersezte die Doppelten oder die MAC oder die Unix
/015/013 | /015 | /013
Die Pipezeichen zwischen den zu ersetzenden Zeichen sind also "oder"-Zeichen
Die Darstellung in Perl ist hier mit Oktalzahlen durchzuführen. Die Entsprechnungen findest Du ja obeb in der kleinen tabelle.
Ich hoffe, das hat Dir nun geholfen?
Liebe Grüße aus http://www.braunschweig.de
Tom
Hallo,
s/013/012/gm;
*gg*
Grüße
Klaus
Hallo zurück,
Hallo,
s/013/012/gm;
*gg*
Hab erst gestutzt, was meint er denn? Aber na klar, hab mich glatt verschrieben. DEZ 10 sind in Oktal natürlich /012 und nicht /013.
kannst mal sehen, wo nachher immer die ulkigen Programmeigenschaften herrühren *gg*
Liebe Grüße aus http://www.braunschweig.de
Tom
Moin,
Hab erst gestutzt, was meint er denn? Aber na klar, hab mich glatt verschrieben. DEZ 10 sind in Oktal natürlich /012 und nicht /013.
Eigentlich sogar \012 statt /012, aber man weiss was du meinst.
Hallo Henryk,
Eigentlich sogar \012 statt /012, aber man weiss was du meinst.
Da haben die mir heute wieder 'nen gebrauchten Tag angedreht...
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi!
In aller Bescheidenheit moechte ich darauf hinweisen, dass manche Leute schon ganze Artikel ueber dieses Thema geschrieben haben, z.B. http://aktuell.de.selfhtml.org/artikel/cgiperl/zeilenumbruch/index.htm. ;-) Unter "Hinweise und Standardtricks" findet man dann auch diesen regulaeren Ausdruck.
So long
Hallöle,
In aller Bescheidenheit moechte ich darauf hinweisen, dass manche Leute schon ganze Artikel ueber dieses Thema geschrieben haben, z.B. http://aktuell.de.selfhtml.org/artikel/cgiperl/zeilenumbruch/index.htm. ;-) Unter "Hinweise und Standardtricks" findet man dann auch diesen regulaeren Ausdruck.
Da guck mal einer Schau. Und da wurde der Fragesteller anfangs so abgeldert, statt ihm gleich den richtigen Hinweis zu geben. Benehmen ist eben doch Glückssache...
Liebe Grüße aus http://www.braunschweig.de
Tom