feed twitter facebook LinkedIn facebook

Java » Eliminar espacios en blanco con Java

Octubre 7, 2007 por Víctor Cuervo . 39483 visitas 30 Comentarios Imprimir Imprimir

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

Foro sobre Java Básico
Foro sobre Java Básico
tags: , , , , ,

Artículos relacionados:

30 comentarios »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

1 2 3
  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í..

1 2 3

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*