![]() |
Separar caracteres Hola a todos y perdonad por mi torpeza. Llevo todo el dia leyendo mensajes en el foro, buscando por internet y soy incapaz de hacer lo siguiente. Tengo que leer el contenido de un archivo de texto plano y guardar los datos en una matriz. Si en el archivo hay un # debo ignorar la linea, sino debo obtener los datos. El archivo consta de * y numeros. Los * significa ausencia de numeros. El archivo puede venir de las siguientes maneras: # Comentario ***3*4*3**2 Todo junto * * * * 3 5 * 6 Con espacios Un salto de linea. *2 3 * 2 1 * * * # Comentario. Si leo el fichero caracter a caracter: Debo detectar el final de linea (10 10 13 creo o 13 10 10) Si aparece un # debo leer hasta el final de linea ignorando todo. Me funciona pero hay otra manera mejor Lo suyo es leer la linea de un tiron. Así obteniendo el primer caracter de esa linea se si es # o no y si debo ignorarla. Pues despues de toda la charla, resulta que soy incapaz de obtener de la linea leida del archivo los caracteres separados. :'( :'( :'( Vamos que mi problema está en separar caracteres. Lo intento con substring. FileReader fr = new FileReader("entrada.txt"); BufferedReader lector = new BufferedReader(fr); texto=lector.readLine() System.out.println(texto); // Aqui imprime el texto bien!!!! cantidad=texto.length(); // Me sale cuantos caracteres tiene for (int k=1;k<cantidad;k++){ System.out.print(texto.substring(k,k)) // Aqui he puesto de todo y el resultado es blanco. } Vamos que es una tonteria y no doy con ella. A ver si alguien me puede orientar un poco. |
¿¿¡¡texto.substring(k,k)!!?? Del API: ---- public String substring(int beginIndex, int endIndex) Returns a new string that is a substring of this string. The substring begins at the specified beginIndex and extends to the character at index endIndex - 1. Thus the length of the substring is endIndex-beginIndex. ---- :-) |
Y otro detalle.... ¿¿¡¡for (int k=1;k<cantidad;k++)!!?? El primer caracter es el 0, no el 1. |
Pues eso, que no se leer.:neurotico Vamos que todo el dia probando con texto.substring(k,k),texto.substring(3,3) etc... y no fui capaz de comprender que si le digo que empieze en 3 y acabe en 3 no coge nada. Gracias por hacerme ver la luz. Aunque me cabrea molestar por no comprender lo que leo. Mil gracias.:aplauso: |
Ojalá todos los problemas fueran así de fáciles ;-). Bromas aparte, la primera fuente de información es el API, ya que por ejemplo el funcionamiento de los parametros en este método no es muy intuitivo, por decirlo finamente :-). Lo de leer inglés técnico... pues es a base de práctica, y si te falta base no es mala idea hacer algun curso por que hoy en día para trabajar en Internet es imprescindible. Lo peor de todo es cerrarse, pero con buen ánimo se le va pillando el tranquillo. Yo casi siempre programo con un navegador con el API abierto en una pestaña, por que de memoria no me lo se :-). Pues eso, un saludo |
Si lo peor de todo es que entiendo el ingles, (tanto el tecnico como el coloquial), tenia la misma definicion que me diste tu delante de los ojos, pero no fui capaz de comprender :molesto: que significaba. Vamos que me hubiera dado igual que lo hubieran puesto en un perfecto y claro castellano.:neurotico Creo que como bien dices, me cerre y no fui capaz de salir de esa situación. Muchas gracias de nuevo. |
Jejeje, bueno, eso a veces le pasa tambien al más pintado. Te puedes tirar dos horas mirando el mismo problema, :pensando:, dale que te pego hasta que viene alguien por encima del hombro y zas, lo ve. :ojotes: Cosas del cerebro humano...:-D |
| La zona horaria es GMT -6. Ahora son las 21:08. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.