Foros del Web » Programación para mayores de 30 ;) » Java »

Mostrar caracteres que no sean digitos en una cadena!

Estas en el tema de Mostrar caracteres que no sean digitos en una cadena! en el foro de Java en Foros del Web. Ola, estoy usando netbeans, soy novato en esto... Quisiera saber como mostrar los caracteres que no sean digitos presentes en una cadena de length 4 ...
  #1 (permalink)  
Antiguo 13/06/2012, 08:08
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 0
Mostrar caracteres que no sean digitos en una cadena!

Ola, estoy usando netbeans, soy novato en esto...

Quisiera saber como mostrar los caracteres que no sean digitos presentes en una cadena de length 4 xD

Tengo esto:
Código:
public class  mostrar{
    public static void main (String [] args){
        String caracteres="";
        char a,b,c,d;
        Scanner l=new Scanner(System.in);
        caracteres=l.nextLine();
        if (caracteres.length()==4)
        {
        a=caracteres.charAt(1);
        b=caracteres.charAt(2);
        c=caracteres.charAt(3);
        d=caracteres.charAt(4);
        
        }
       
            
            
          }
    
}
Bueno un ejemplo seria que se ingrese x8da9 que deje solo "xda"
como resultado.
Tengo una idea de como hacerlo pero resultaria muy largo el codigo :(
Saludos

Última edición por tebanpwz; 13/06/2012 a las 08:14
  #2 (permalink)  
Antiguo 13/06/2012, 08:32
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Mostrar caracteres que no sean digitos en una cadena!

Esto hace lo que tu quieres

System.out.println(caracteres.replaceAll("\\d","") );

replaceAll() de String admite como primer parámetro una "expresion regular", en la que "\\d" representa un dígito (0 a 9) y lo reemplaza por vacíos "". Como el método es replaceAll(), reemplaza todos los dígitos por nada.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 13/06/2012, 10:55
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Mostrar caracteres que no sean digitos en una cadena!

gracias capo!

me quedo asi:

Código:
import java.util.Scanner;
public class  mostrar{
   
    public static void main (String [] args){
        String caracteres="";
        char a,b,c,d;
        Scanner l=new Scanner(System.in);
        caracteres=l.nextLine();
        if (caracteres.length()==4)
        {
        a=caracteres.charAt(1);
        b=caracteres.charAt(2);
        c=caracteres.charAt(3);
        d=caracteres.charAt(4);
        System.out.println(caracteres.replaceAll("\\d","") );
        }
       
        else 
             System.out.println("La cadena debe ser de 4 caracteres");
            
          }
    
}

Pero me tira esto

Código:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
	at java.lang.String.charAt(String.java:695)
	at problema1.main(problema1.java:15)
Java Result: 1
:( soy bien novato parece xDD

Salu2
  #4 (permalink)  
Antiguo 13/06/2012, 12:58
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Mostrar caracteres que no sean digitos en una cadena!

Te sobran los caracters.charAt() puesto que no los usas para nada.

Si la cadena tiene 4 caracteres, el indice empiza en 0, por lo que puedes poner caracteres.charAt(0) hasta caracteres.charAt(3) (0,1,2 y 3 son 4 caractares), el caracteres.charAt(4) sería el quinto que no existe y te está dando esa excepción de "indice fuera de rango : 4".

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 13/06/2012, 19:39
 
Fecha de Ingreso: mayo-2012
Mensajes: 10
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Mostrar caracteres que no sean digitos en una cadena!

Gracias pro sos grande!
Te admiro! :D

Etiquetas: caracteres, digitos, netbeans, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:38.