[Vienna-pm] Gleichen Anfang in mehreren Zeilen entfernen

peter pilsl pilsl at goldfisch.at
Sun May 22 12:17:59 PDT 2005


> 
> Ich würde schon zuvor prozedural das größten gemeinsamen anfangs string
> bestimmen und dann mit einer RE entfernen. Meines wissen, ist das mit RE
> nicht möglich einen unbekannten gemeinsamen string zu entfernen.
> (Andererseits kann man mit RE Sachen machen, die ich nie begreifen werd,
> als möglich ist es sicher irgendwie...)
>

regular expressions sind echt cool :) und das geht schon

also der ansatz lautet hier wie folgt (untested)

$str=~/(.*\/)\n\1/;

sucht nach gleichen anfängen in $str, die mit / enden


\1 ist hier die referenz auf das bekannte $1 schon in der expression.


ein kleines beispiel für die commandline:


perl -e '$a="hans/kurt/esel\nhans/kurt/emmi"; print $1,"\n" if 
$a=~/(.*\/).*\n\1/'

gibt als ergebnis hans/kurt/


das ausführen des ganzen für ersetzung und das mehrfach bleibt dem OP 
überlassen oder jemand anderem. Ich selbst muss dringenst was essen ;)



lgp



-- 
mag. peter pilsl
goldfisch.at
IT-management
tel +43 699 1 3574035
fae +43 699 4 3574035
pilsl at goldfisch.at


More information about the Vienna-pm mailing list