Ver Mensaje Individual
  #5 (permalink)  
Antiguo 24/03/2008, 11:55
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 17 años
Puntos: 260
Sonrisa Re: problema con StringTokenizer

Hola,

Cita:
Iniciado por rodrigo_lopez Ver Mensaje
.. lo que pasa es que no puedo separar los textos por : ( doble punto ) ya que el usuario puede ingresar eso en una variable como en el ...
Tal ves sigue siendo la mejor opción "split".

Código:
 BufferedReader b = new BufferedReader(new FileReader("texto.txt"));
    String line; String[] lines = new String[MAX]; int i = 0;
 
    while ((line = b.readLine()) != null) {
      // Creo que la sintaxis correcta en Java RegEx es ^(d1, d2, d3)  como Perl
      // y sed; pero podría estar equivocado y ser (^d1, ^d2, ^d3)
      String[] t = line.split("^(titulo:|cuerpo:|cantidad:|vinculo1:|nomvinculo1:)");
      if (i < MAX && t.length > 1)
        System.out.println(lines[i++] = t[1]);
    }
 
    b.close(); 
Según lo que entendí de tu mensaje, el archivo está ordenado:

Código:
titulo:Titulo de la página
cuerpo:aca va el cuerpo del texto
cantidad:1
esta no es una linea
vinculo1:www.google.cl
otracosa: vinculo1: esto no es una linea
otracosa:esto no es una linea:otracosa:
nomvinculo1:Google
No tengo idea de como hacerlo con StringTokenizer sin hacer una "embarrada" ¿?; en el caso del StringTokenizer habría que validar cada línea del texto contra cada línea de prueba -- String[] v = {"titulo", "cuerpo", "cantidad", "vinculo1:", "nomvinculo1"}; -- o llevar una serie de contadores.

Espero que haya sido de ayuda,
Si tu objeto es hacerlo con StringTokenizer forzosamente, comienza a pensar en la "embarrada" ¿?.

Saludos,

pd:

Me faltó mencionar lo siguiente:

StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split method of String or the java.util.regex package instead.

http://java.sun.com/j2se/1.4.2/docs/...Tokenizer.html

Última edición por HackmanC; 24/03/2008 a las 14:09 Razón: edit