• Publicidad

Espaciar una cadena

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

Re: Espaciar una cadena

Notapor explorer » 2010-01-02 14:00 @625

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my @nueva_cadena = split //, $cadena;           # La cadena la pasamos a vector

for (my $i = 4; $i < @nueva_cadena; $i += 4) {  # Recorremos el vector de 4 en 4
    splice @nueva_cadena, $i++, 0, ' ';         # En esas posiciones, insertamos un ' '
}

my $nueva_cadena = join '', @nueva_cadena;      # Pasamos de vector a escalar
Coloreado en 0.002 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: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Espaciar una cadena

Notapor explorer » 2010-01-02 14:08 @630

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my @cadena = split //, $cadena;     # La cadena la pasamos a vector

# Un poco de matemáticas para extraer partes de un vector usando rangos
my $nueva_cadena = join ' ', map { join '', @cadena[4*$_ .. 4*$_+3] } 0 .. 3;
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: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Espaciar una cadena

Notapor explorer » 2010-01-02 14:11 @632

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $nueva_cadena;

$nueva_cadena .= substr($cadena, $_, 4) . ' ' for 0,4,8,12;

chop $nueva_cadena;
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: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Espaciar una cadena

Notapor explorer » 2010-01-02 14:12 @633

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $nueva_cadena = join ' ', map { substr($cadena, $_, 4) } 0,4,8,12;
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: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Espaciar una cadena

Notapor explorer » 2010-01-02 17:48 @783

Esta es la peor solución, pero funciona.
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
(my $nueva_cadena = $cadena) =~ s/(ag|(?:k|f)j)/$1 /g;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

Es la peor solución porque solo funciona para el caso de que $cadena sea la indicada en el ejemplo, claro.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

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