Hola, tengo un problema y nose si es el split que no lo hace bien, tengo este codigo.
while (linia!=null) {
String[] paraula = linia.split("[\\s,.;:'\\[\\]]");
for(String par: paraula){
System.out.println(par);
}
linia = bur.readLine();
}
Me lee un archivo y por pantalla me lo muestra así, porque no me lo muestra todo junto sin los saltos de linea? como los puedo quitar? gracias de antemano
GOMES
SERGIO
ALEX
Telephones
1234
123456
Emails
c@gmail
com
ESCOBAR
MANOLO
Telephones
Emails
manolito@gmail
com
Pues como es el archivo original? o verifica con un condicional al mostrar el contenido, es decir:
for(String par: paraula)
{
if(par != Empty)
{
System.out.println(par);
}
}
Lo siento pero mi Java es malisimo, pero es un idea jajajaj
Cita de: Shell Root en 23 Mayo 2014, 15:22 PM
Pues como es el archivo original?
[GOMES SERGIO, ALEX
Telephones:
1234
123456
Emails:
c@gmail.com
, ESCOBAR, MANOLO
Telephones:
Emails:
manolito@gmail.com
]
Cita de: Shell Root en 23 Mayo 2014, 15:22 PM
Pues como es el archivo original? o verifica con un condicional al mostrar el contenido, es decir:
for(String par: paraula)
{
if(par != Empty)
{
System.out.println(par);
}
}
Lo siento pero mi Java es malisimo, pero es un idea jajajaj
no me sirve, ya que luego tengo que tratar con el string
Toma este trozo de texto
SERGIO, ALEX
al hacer split con el espacio \\s y con la coma, el split te dará tres elementos : "SERGIO", "" y "ALEX". El "" te lo da porque es lo que está entre la , y el espacio, ya que ambos sirven de separador.
el elemento del medio lo sacas con un println(), así que sale aparentemente una linea vacía. Antes de sacarlas, elimina strings vacíos ""
Se bueno.
Cita de: Chuidiang en 23 Mayo 2014, 15:49 PM
Toma este trozo de texto
SERGIO, ALEX
al hacer split con el espacio \\s y con la coma, el split te dará tres elementos : "SERGIO", "" y "ALEX". El "" te lo da porque es lo que está entre la , y el espacio, ya que ambos sirven de separador.
el elemento del medio lo sacas con un println(), así que sale aparentemente una linea vacía. Antes de sacarlas, elimina strings vacíos ""
Se bueno.
no entiendo a que te refieres con sacar el elemento con un println(), por otro lado para eliminar string vacios "" es con el trim? gracias!
Estás en lo correcto. El método trim() elimina los espacios de una cadena de caracteres. Por lo que es siempre conveniente primero aplicar el método trim() a la cadena y luego hacer el Split.
Sigue quedandome la primera linea en blanco y "ocupandome" un sitio en el string, es decir, string[0] tengo una linea en blanco..
un trim() elimina espacios delante y detrás de una cadena, NO elimina un "" ya que no tiene nada, ni suiquiera espacios.
Sacar con un println es lo que estás haciendo con System.out.println(par); en tu código. Si haces System.out.println(par) siendo par un "", se traduce en que escribes una línea en blanco.
Se bueno.
public class HelloWorld{
public static void main(String []args){
String sFile[] = {
"[GOMES SERGIO, ALEX",
" Telephones:",
" 1234",
" 123456",
" Emails:",
" c@gmail.com",
"",
", ESCOBAR, MANOLO",
" Telephones:",
" Emails:",
" manolito@gmail.com",
"]"
};
for(int i=0; i<=11; i++){
sFile[i] = sFile[i].replaceAll("[,.;:'\\[\\]]", "");
sFile[i] = sFile[i].trim();
if(sFile[i] != "")
System.out.println(sFile[i]);
}
}
}
Compiling the source code....
$javac HelloWorld.java 2>&1
Executing the program....
$java -Xmx128M -Xms16M HelloWorld
GOMES SERGIO ALEX
Telephones
1234
123456
Emails
c@gmailcom
ESCOBAR MANOLO
Telephones
Emails
manolito@gmailcom
Cita de: Chuidiang en 23 Mayo 2014, 17:15 PM
un trim() elimina espacios delante y detrás de una cadena, NO elimina un "" ya que no tiene nada, ni suiquiera espacios.
Sacar con un println es lo que estás haciendo con System.out.println(par); en tu código. Si haces System.out.println(par) siendo par un "", se traduce en que escribes una línea en blanco.
Se bueno.
entonces como puedo solucionar este problema o porque me lo hace el que escriba una línea en blanco? gracias
Pues haciendo lo que te dijo Shell Root como primera contestación.
Se bueno.
Cita de: Chuidiang en 23 Mayo 2014, 22:34 PM
Pues haciendo lo que te dijo Shell Root como primera contestación.
Se bueno.
creo que es por el [ que me hace en la primera linea y lo quitare mal...