jump to navigation

Eliminar espacios en blanco con Java Octubre 7, 2007

Publicado por lineadecodigo en : Java , trackback

Con el lenguaje Java podemos eliminar espacios en blanco de una cadena de diferentes formas. En este ejemplo vamos a ver como hacerlo de dos formas. La primera será recorriendo la cadena y buscando los espacios en blanco y la segunda será mediante el método Java .stringTokenizer().

La primera forma sería la más rustica. El método consistiría en recorrer la cadena. Usaremos el método Java .length() para conocer el tamaño máximo de la cadena y un bucle for para recorrerla.

Mientras recorremos la cadena vamos creando una nueva cadena a la cual solamente anexaremos caracteres que sean diferentes al espacio en blanco. La forma de obtener un carácter de una determinada posición de la cadena es mediante el método Java .charAt(posicionEnCadena).

for (int x=0; x < sTexto.length(); x++) {
  if (sTexto.charAt(x) != ' ')
    sCadenaSinBlancos += sTexto.charAt(x);
}

Otra forma sería usando el método Java StringTokenizer. Este método crea un array de elementos a partir de una cadena. Usando como separador el carácter que se le pase como parámetro.

En caso de no pasarle separador asume que el espacio en blanco será dicho separador. Solamente nos quedará recorrer el array y concatenar el contenido en una nueva cadena.

StringTokenizer stTexto = new StringTokenizer(sTexto);

while (stTexto.hasMoreElements())
  sCadenaSinBlancos += stTexto.nextElement();

Visualizar el ejemplo | Descargar el código

Articulos Similares:

|- Foro sobre Java Básico

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 29468 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (1 votos, media: 5.00 de 5)
Loading ... Loading ...

Comentarios»

1. luis vivas - Octubre 10, 2007

StringTokenizer uno de los mas practicos metodos para eliminar espacios en blanco y de gran utilidad para la captura de datos de cualquier tipo, exelente explicación.

2. penyaskito - Octubre 14, 2007

Las cadenas no se deben concatenar, usa StringBuilder o StringBuffer para manejar cadenas.

3. jheyson vela a. - Octubre 31, 2007

como puedo crear un metodo en bluej en la clase Notebook que me permita borrar las notas lamacenadas en el metodo
public int numberOfNotes()
{
return notes.size();
}

4. ALEX DICK - Diciembre 31, 2007

ESTE METODO ESTA BIEN
PERO QUISIERA OTRO METODO DONDEN ELIMINARA LOS ESPASIO EN LA MISMA CADENA OSE SIN NESECIDAD DE DECLARAR OTRA CADENA.+

GRAIAS…

5. knk - Marzo 3, 2008

String.trim();

6. lineadecodigo - Marzo 3, 2008

@knk,

String.trim() solo elimina los espacios en blanco del principio y del final. No si tienes espacio en medio.

7. yoni - Marzo 24, 2008

dudo mucho que se pueda hacer en la misma variable, pero StringBuffer es mucho mas eficiente que concatenar Strings como dijo penyaskit

8. Malora - Mayo 10, 2008

pues yo lo ago mas rapido utilizo replaceAll

ejem

String cadena=”asdfas df asd f asd asdf “;
System.out.println(caca.replaceAll(” “, “”));

9. bardack - Agosto 14, 2008

muy interesante pero si por el contrario deseo poner espacios en blanco despues de 4 caracteres en una frase donde le quie los espacios peor ahora ordenar sus letras en 4 caracteres y ahi poner el espacio en blanco

10. Charles - Septiembre 10, 2008

Alguien podría explicar como se aplica lo q dice este post? yo no sé mucho de programación, estoy intentando armar una página a través de blogger, del modo más profesional posible, incluí un formulario en un post del blog, y el mismo me aparece un metro debajo del título del post lo cual queda, se imaginaran, bastante mal. Cómo aplico esto q explican para solucionarlo? o sea, me dan código y ni siquiera se donde se debe poner, o cómo se debe poner… Quiza alguien pueda contestar esta inquietud, ya me rendí..

11. Flashk - Septiembre 15, 2008

Hay otra forma bastante sencilla que es crear un array de string y luego efectuar un split de espacios en blanco metiendo el resultado (las palabras cortadas) en dicho array. Posteriormente, metes en otra variable String el resultado de concatenar todas las celdas del array.

12. john fredy clavijo - Octubre 16, 2008

si se puede en la misma variable
String sPalabra=br.readLine().replace(” “,”");
teniendo en cuenta que el radline es porque esa palabra se ingresara por teclado o bien si es una cadena cualquiera seria asi:
String sPalabra=”a b c d e f g h “.replace(” “,”");

13. john fredy clavijo - Octubre 16, 2008

mi pregunta es:
tengo una variable con espacios la cual voy a meter a una lista pero quiero en la lista entre sin espacios y que al imprimir la variable quede tal cual con espacios. si me hago entender?

14. victor - Diciembre 12, 2008

quisiera saber como borrar un determinado numero de caracteres de una cadena en java

15. john fredy clavijo - Diciembre 13, 2008

victor, para borrar caracteres tambien funciona el metodo replace(), solo pones tantos como necesites en la variable ej (ingresada por teclado):

String Palabra=br.readLine().replace(” “,””).replace(”@“,””).replace(”#“,””);

o bien (por cadena);

String Palabra=”@ # %“.replace(” “,””).replace(”@“,””).replace(”#“,””)…etc;

ojala te sirva, nos vemos.

16. Paola - Julio 1, 2009

hola necesito q me ayuden… debo hacer un metodo recursivo q recibe un string, debo eliminar los blancos y el siguiente caracter de cada blanco colocar en mayuscula…. ejm “estoy en clase” de retornar “EstoyEnClase”

17. Armando Ayala - Julio 17, 2009

tal ves o sea de mi incumbencia, pero , Paola ya viste la fecha del ultimo mensaje, jeje. Ademas creo q todo el aporte de los q han comentado t servira a resolver tu duda, si no me cachas, analiza el método String.replace(), y un par de los comentarios anteriores. Suerte

18. Kenny Mendieta - Noviembre 30, 2009

A ver a ver, si quieren eliminar espacios en blanco y que quede una sola cadena solo una linea no se compliquen

String frase = “esta es una cadena con espacios en blanco”;
System.out.println(frase.replace(” “,”"));

Resultado:
estaesunacadenaconespaciosenblanco

19. john fredy clavijo - Enero 21, 2010

kenny lo que dices es practicamente lo que hemos dicho a lo largo del tema no? jejeje

20. ing Diego - Abril 15, 2010

Seria bueno Conocer como quitar solo los espacios en blanco que se encuentran al final de la cadena y no los del principio, trim quita ambos pero como quitar solo los ultimos?

21. Merey16 - Junio 6, 2010

Siempre recurro a esta página para aclarar cualquier duda en la elaboración de algún programa en Java, de verdad es muy entendible las explicaciones.

Felicitaciones!!!

22. lineadecodigo - Junio 6, 2010

@Merey16,

Me alegro que sea de ayuda.

23. percy - Julio 7, 2010

muy bueno recien lo entendi jeje ta bien ah y para crear un codigo autogenerado de nombre fecha y apellidos con sus ultimas 2 letras de los campos dados




Si tienes dudas sobre Java Básico no dudes en visitar el Foro sobre Java Básico.
Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen