Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12330[/thread]

RegEx alles vor ersten newline löschen?

Tags: Ähnliche Threads

Leser: 2


<< >> 4 Einträge, 1 Seite
Gast Gast
 2008-08-10 02:11
#113279 #113279
Guten Abend/Morgen,

ich müste einen ähnlich aufgebauten string mit regex behandeln:

aus "Ein Test-Text\n\nder behandelt\n\nwerden soll\n\n" bzw
"Ein Test-Text\r\n\r\nder behandelt\r\n\r\nwerden soll\r\n\r\n"

soll werden:

"der behandelt\n\nwerden soll\n\n" bzw
"der behandelt\r\n\r\nwerden soll\r\n\r\n"

wie kann ich das am besten bewerkstelligen?

PS: der text ist natürlich variabel der einzige weg führt über die newlines
renee
 2008-08-10 10:26
#113280 #113280
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
$variable =~ s!^.*?\r?\n\r?\n!!;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Linuxer
 2008-08-10 13:56
#113284 #113284
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hi,

split() sollte man dafür auch nehmen können:

Code (perl): (dl )
my ( $muell, $rest ) = split /\r?\n\r?\n/, $text, 2;
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Linuxer
 2008-08-11 01:35
#113310 #113310
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Wenn Du sicher bist, dass z.B. $/ den gewünschten Zeilenumbruch enthält (also \r\n oder \n) kannst Du auch eine Kombination aus substr(), index() und length() verwenden:

Code (perl): (dl )
$text = substr $text, index( $text, $/ x 2 ) + length( $/ x 2 );
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
<< >> 4 Einträge, 1 Seite



View all threads created 2008-08-10 02:11.