• Publicidad

Hacer referencia a todos los números

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Hacer referencia a todos los números

Notapor later » 2009-04-01 13:18 @596

Hola, bueno... a la hora de querer hace referencia a todos los números en una expresión regular de substitución no lo consigo.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$out = $1;
$out =~ s/"//g;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


En ese caso inicialmente tengo puesto que me sustituya el caracter " (doble comilla) por 'NADA' (un vacío). Pero lo que necesito es que substituya todos los números del 0 a 90000, por ejemplo, más las dobles comillas, por un vacío, es decir, por nada (como en ese caso).

¿Cómo lo hago?

Gracias.
later
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2007-10-06 12:42 @570

Publicidad

Notapor explorer » 2009-04-01 15:27 @685

A ver, a ver... que la cosa no está clara...

Primero dices que quieres filtrar a todos los números, y luego que quieres filtrar a los números que vayan del 0 al 90000.

¿En qué quedamos?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor later » 2009-04-01 17:35 @774

A todos los números si puede ser, mejor... En caso de no poderse, buscar la forma de establecer un inicio y un fin.
later
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2007-10-06 12:42 @570

Notapor explorer » 2009-04-01 17:53 @787

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$out =~ s/[\d"]//g;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor later » 2009-04-02 05:30 @271

¿Y se podría hacer algo más complicado?, por ejemplo... si en $out tenemos algo como esto:
Código: Seleccionar todo
pruebaaaaaaa=holaaaaaaa.lala?=22aa


¿se podría eliminar tanto letras como números hasta el primer "="?. Entonces quedaría esto:
Código: Seleccionar todo
pruebaaaaaaa=holaaaaaaa.lala?=
later
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2007-10-06 12:42 @570

Notapor explorer » 2009-04-02 06:51 @327

Pues sería así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$out =~ s/[^=]*$//;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Decimos que todos (*) los caracteres que no (^) sean '=', al final de la línea ($), serán eliminados.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor later » 2009-04-04 12:21 @556

Gracias, explorer, eres el amo ;)

Te lo agradezco como siempre.
later
Perlero nuevo
Perlero nuevo
 
Mensajes: 46
Registrado: 2007-10-06 12:42 @570

Notapor explorer » 2009-04-06 18:23 @807

Ahora que lo pienso, hay una forma más rápida: buscando desde atrás:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
$out = substr($out, 0, rindex($out,'=')+1);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


La función rindex() busca caracteres empezando desde el final de la cadena.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados

cron