• Publicidad

Extraer los 3 primeros caracteres

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

Extraer los 3 primeros caracteres

Notapor erama » 2005-10-04 08:20 @389

Hola a todos, estoy buscando en los tutoriales con extraer los X caracteres de una variable. ¿Hay alguna función específica? Muchas gracias.
erama
Perlero nuevo
Perlero nuevo
 
Mensajes: 12
Registrado: 2005-05-27 06:40 @319
Ubicación: MDQ

Publicidad

Notapor explorer39 » 2005-10-04 09:26 @434

Con substr().

Por ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $a = substr($x,0,10);   # extrae los diez primeros
  2. $a = substr($x,3,5);    # extrae 5 caracteres desde el cuarto
  3. $a = substr($x,-4);     # los últimos 4 caracteres
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4

Lo más bonito, también, de esta función, es que también sirve para 'meter' caracteres dentro una variable:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. substr($x,3) = "Hola";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
explorer39
 

Notapor kidd » 2005-10-04 09:27 @436

Hola:

Puedes hacerlo con una expresión regular:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $palabra = "magnifico";
  2.  
  3. $palabra =~ /^(\w{3})/;
  4.  
  5. print "Los tres primeros caracteres: $1";  #imprime mag
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4



EXPLICANDO LA EXPRESIÓN

El ^ es para especificar el principio de la cadena, luego viene encerrado en paréntesis el \w que le dice al motor de exp. reg. que queremos encontrar todo aquello que sean letras y números, es decir, valores alfanuméricos. Después viene los {}; los {} son cuantificadores, ahí ponemos el 3 para decir que queremos tres instancias de valores alfanuméricos, es decir, tres caracteres.

Los paréntesis en este caso los usamos para salvar el contenido en la variable especial $1.

Si quieres saber más acerca de las expresiones regulares, puedes checar los tutoriales que tenemos aquí:
http://perlenespanol.com/tutoriales/exp ... regulares/


SALUDOS
Uriel Lizama Perl programmer fundador de Perl en Español
Perl Programming Language
Avatar de Usuario
kidd
Creador de Perl en Español
Creador de Perl en Español
 
Mensajes: 1166
Registrado: 2003-10-15 16:52 @744
Ubicación: México


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot] y 0 invitados