Página 1 de 1

Extraer los 3 primeros caracteres

NotaPublicado: 2005-10-04 08:20 @389
por erama
Hola a todos, estoy buscando en los tutoriales con extraer los X caracteres de una variable. ¿Hay alguna función específica? Muchas gracias.

NotaPublicado: 2005-10-04 09:26 @434
por explorer39
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

NotaPublicado: 2005-10-04 09:27 @436
por kidd
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