Telefonnummern-Konvertierung s/(/d/d)/$1 /g

Telefonnummern-Konvertierung s/(/d/d)/$1 /g

am 08.06.2007 09:31:15 von unknown

Post removed (X-No-Archive: yes)

Re: Telefonnummern-Konvertierung s/(/d/d)/$1 /g

am 08.06.2007 16:45:18 von Samuel

On Fri, 08 Jun 2007 07:31:15 +0000, Martin Trautmann wrote:

> wie macht man die Telefonnummernkonvertierung richtig, damit Leerzeichen
> nach jeweils zwei Stellen eingefuegt werden - aber von rechts?

$number =~ s{((?:\d\d)+)(-\d+)?$}{
$n = $1;
$f = $2;
$n =~ s/(..)/ $1/g;
"$_$f"
}ge;

-Samuel

Re: Telefonnummern-Konvertierung s/(/d/d)/$1 /g

am 08.06.2007 17:25:54 von Moritz Lenz

This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig47491D4ECF68436559CD1264
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hallo,

Samuel wrote:
> On Fri, 08 Jun 2007 07:31:15 +0000, Martin Trautmann wrote:
>=20
>> wie macht man die Telefonnummernkonvertierung richtig, damit Leerzeich=
en
>> nach jeweils zwei Stellen eingefuegt werden - aber von rechts?
>=20
> $number =3D~ s{((?:\d\d)+)(-\d+)?$}{
> $n =3D $1;
> $f =3D $2;
> $n =3D~ s/(..)/ $1/g;
> "$_$f"
> }ge;

YaY, rekursive Regex.
Wer das nicht mag (ich persönlich habe nichts dagegen), kann das gan=
ze
auch iterativ machen.

Ungetested:

while ( $number =3D~ s/^([^_]*)(\d\d)/$1_$2/) { 1; }

Die Idee ist, von Hinten zwei Ziffern abzutrennen, und durch _ getrennt
wieder dranzuklatschen. Damit man nicht immer die gleichen zwei Zahlen
hinten erwischt, darf vor den beiden Zahlen kein _ stehen. D.h. man
braucht hier eine gierige, verankerte regex.

Das Ergebnis ist sowas wie '1_23_45', das kann man dann durch split /_/
jagen dann die gewünschten Trennzeichen einbauen.

Grüße,
Moritz

--=20
Moritz Lenz
http://perl-6.de/ http://moritz.faui2k3.org/


--------------enig47491D4ECF68436559CD1264
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGaXUGAAkekJBI0yIRAvr5AKDKpEEgz4WdsRRl2f+/9ne0HXOaPwCd Hc9w
UoLMt4Jgwh8vPlzGZ+oMiMs=
=kJEQ
-----END PGP SIGNATURE-----

--------------enig47491D4ECF68436559CD1264--

Re: Telefonnummern-Konvertierung s/(/d/d)/$1 /g

am 08.06.2007 17:33:21 von unknown

Post removed (X-No-Archive: yes)

Re: Telefonnummern-Konvertierung s/(/d/d)/$1 /g

am 08.06.2007 17:39:27 von unknown

Post removed (X-No-Archive: yes)