• Publicidad

Comprobar que una cadena es binaria

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

Comprobar que una cadena es binaria

Notapor toxperl » 2012-01-14 14:41 @653

Estimados: ¿cómo puedo, en Perl, comprobar que una cadena de números solo tiene ceros y unos, es decir, solo del tipo 1000111?

Si encuentro 100300 tiene que mandar un mensaje indicando que no es binario.
Última edición por toxperl el 2012-01-15 17:21 @765, editado 1 vez en total
toxperl
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2012-01-14 09:23 @433

Publicidad

Re: Comprobar que una cadena es binaria

Notapor creating021 » 2012-01-14 15:57 @706

Se puede hacer con un bucle que recorra la cadena y mire que cada carácter sea un 1 o un 0.

Ejemplo:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $cadena = "010012";
  2. for (my $i = 0; $i < length $cadena; $i++) {
  3.     my $caracter = substr $cadena, $i, 1;
  4.     if ($caracter ne "0" and $caracter ne "1") {
  5.         die "Error: bla bla bla\n";
  6.     }
  7. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Re: Comprobar que una cadena es binaria

Notapor explorer » 2012-01-14 17:42 @779

Obviamente, también podemos usar el método de las expresiones regulares...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $cadena = "010012";
  2.  
  3. if ($cadena =~ /^[01]+$/) {
  4.     print "Sí es binaria\n";
  5. }
  6. else {
  7.     print "No es binaria\n";
  8. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

La expresión regular quiere decir: busca, de principio (^) a fin ($), una ristra de uno o más (+) dígitos '0' y/o '1'.
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: Comprobar que una cadena es binaria

Notapor toxperl » 2012-01-14 18:12 @800

Muchas gracias, estimado :)
toxperl
Perlero nuevo
Perlero nuevo
 
Mensajes: 5
Registrado: 2012-01-14 09:23 @433


Volver a Básico

¿Quién está conectado?

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