Page 1 of 1

perl ersetzen

Posted: 2004-02-12 21:51
by conym18
hi,

ich habe folgende zeile:

$zeile =~ m/([a-zA-Z0-9-.]{3,22}.[a-zA-Z0-9-.]+.[a-zA-Z]com)/


kann ich in dieser zeile mir auch gleich den . zwischen 22} und [a-z durch ein @ ersetzen lassen?

oder brauche ich dann eine neue zeile?
aus der ersten zeile bekomme ich $1 zurück

dank

Re: perl ersetzen

Posted: 2004-02-13 17:39
by wirsing
@ statt dem Punkt dürfte gehen (Ich bin kein großer Perl-Programmierer).

Re: perl ersetzen

Posted: 2004-02-13 17:41
by conym18
nee geht nicht, da er sonst nach dem @ sucht und nicht ersetzt

Re: perl ersetzen

Posted: 2004-02-13 17:56
by wgot
Hallo,

kann man machen, es ist aber erheblich einfacher, einfach eine zusätzliche Zeile zu nehmen:

Code: Select all

$zeile=~s/./@/;
drunter und gut is.

PS: Was soll die Monsterzeile eigentlich bewirken? Mir fällt da nix sinnvolles ein.

Gruß, Wolfgang

Re: perl ersetzen

Posted: 2004-02-13 18:01
by conym18
so ist es richtig:

$zeile=~tr/./@/;

Re: perl ersetzen

Posted: 2004-02-13 18:13
by wgot
Hallo,
conym18 wrote:$zeile=~tr/./@/;
ersetzt alle Punkte durch @.

meine Zeile ersetzt den ersten Punkt durch @.

Kann sich der OP ja raussuchen was er braucht.

Den angesprochenen Punkt aus seiner Zeile kann er weder mit Deiner noch mit meiner Zeile durch ein @ ersetzen, der steht nämlich für beliebiges Zeichen. :oops:

Gruß, Wolfgang

Re: perl ersetzen

Posted: 2004-02-13 18:18
by conym18
und wie bekomme ich es hin das er den PUNKT ersetzt?

Re: perl ersetzen

Posted: 2004-02-13 18:31
by wgot
Hallo,

schreib halt mal, was das sein / können / werden soll, dann klappt's vielleicht auch mit der Hilfe. Aber gut - Ratespiel nächste Runde - suchst Du das?

Code: Select all

$zeile =~ m/([a-zA-Z0-9-.]{3,22}).([a-zA-Z0-9-.]+.[a-zA-Z]com)/
$ergebnis="$1@$2";
Gruß, Wolfgang

Re: perl ersetzen

Posted: 2004-02-13 18:41
by conym18
hi,

ich habe eine datei und in der datei stehen meine usernickpages drin.

jeder user soll auch eine email bekommen.

ein username = eine usermail.

deswegen will ich den ersten punkt (user.mydomain.de) in user@mydomain.de umwandelt.