Foro de elhacker.net

Programación => Java => Mensaje iniciado por: carlitos.dll en 13 Septiembre 2008, 08:26 am



Título: ayuda con clase Scanner -solucionado.
Publicado por: carlitos.dll en 13 Septiembre 2008, 08:26 am
Hola compañeros de elhacker, estoy realizando un trabajo de Java, y decidí utilizar la clase Scanner.

Lo que quiero hacer es separar una palabra por cada guión.

Tengo lo siguiente:
Código
  1. Scanner entrada = new Scanner(argumento).useDelimiter("\\s*-\\s*");
  2.  

Eso trabaja bien, el problema que tengo es con un guión ligeramente más grande, que a veces lo copio de documentos word, y quiero asegurarme de que funcione con los dos guiones, para que no se le caiga el proceso a quién evalúe.

Estos son los dos guiones que quiero que acepte:
—-


Si alguien me ayuda por favor se lo agradeceré mucho.


Título: Re: ayuda con clase Scanner
Publicado por: carlitos.dll en 13 Septiembre 2008, 20:40 pm
Resulta que al final eran tres tipos de guiones.
Lo dejo sin las etiquetas geshi para que se vea la diferencia.

Este es el guión normal: -
Este es uno ligeramente más grande: –
Este es uno más extenso: —

Aquí dejo la solución que se me ocurrió, le puede servir a alguien.

        try
        {
            argumento = argumento .trim();
            argumento = argumento .replace('—','-');
            argumento = argumento .replace('–','-');
        }
        catch (NullPointerException npe)
        {
            throw new ValoresAceptadosException("argumento no puede ser nulo.");
        }
       
        Scanner entrada = new Scanner(argumento ).useDelimiter("\\s*-\\s*");