Eliminar espacios en blanco con Java

07/Oct/2007 Java , , , 37 Comentarios

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 una clase 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).

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

Otra forma sería usando la clase Java StringTokenizer.

Esta clase 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.

  1. StringTokenizer stTexto = new StringTokenizer(sTexto);
  2.  
  3. while (stTexto.hasMoreElements())
  4. sCadenaSinBlancos += stTexto.nextElement();

Vídeos sobre Java Básico


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

37 comentarios en “Eliminar espacios en blanco con Java”

Víctor Cuervo

EMILIANO GARCIA

HOLA UNA PREGUNTA.. QUERIO SABER COMO PUEDO HACER PARA BORRAR UN DATO, Y QUE AL BORRARLO, EL DATO SIGUIENTE OCUPE SU NUMERO DE ID. PORQUE DE LO CONTRARIO AL BORRAR POR EJEMPLO EL ID 005 ME QUEDA LOS ID 004 Y 006. SALUDOS.

Víctor Cuervo

Robin

Gracias amigo.

Víctor Cuervo

Víctor Cuervo

Gracias a ti Robin por el comentario.

Víctor Cuervo

que les importa

yo ni le entendi a lo que dice esta pagina… lo que yo quiero es borrar espacios, comas, guines, puntos a una cadena. si me pueden ayudar se los agradeceria mucho. y si no tambien :'(

Víctor Cuervo

josichu

Gracias, jaja yo matando porque no funcionaba ese .trim() ahora ya veo diversas formas de quitar los espacios.

Víctor Cuervo

Ruben

sCadenaSinBlancos += sTexto.charAt(x)
estas variables que son???

Víctor Cuervo

Fucken

Creo que no es necesario, si tenemos por ejemplo:

String x = ” h o l a m u n d o “;
String y = x.replaceAll(” “,””);

Tendríamos y=”holamundo”;

Víctor Cuervo

Joan

Hola,

Estoy interesado en saber como puedo hacer un String que al escribir un nombre y apellidos por pantalla de esta forma; Juan Alvarez Sancho, me devuelva Juan Alvarez Sancho (dejando sólo un espacio entre ellos) he probado con trim(); pero sólo me quita los del inicio y el final.

El código es en Java. Gracias.

Víctor Cuervo

daniel carpio

Yo también deseo eliminar espacios en blanco pero ademas de los que hay al inicio y al final quiero también los espacios en medio. Por el momento he intentado con esta función que reemplaza dos espacios en blanco por un solo espacio en blanco en un proceso repetitivo:

String cadena = “esto es una cadena con espacios en medio”;
while (!cadena.equals(cadena.replace(” “, ” “))) {// reemplazar dos espacios en blanco por un solo espacio en blanco
cadena = cadena.replace(” “, ” “);// obtenemos la nueva cadena
System.out.println(“cadena=” + cadena);
}

Alguien sabe otro método o alguna librería (así como ApacheCommons) que ya lo implemente?

Víctor Cuervo

daniel carpio

Yo también deseo eliminar espacios en blanco pero ademas de los que hay al inicio y al final quiero también los espacios en medio. Por el momento he intentado con esta función:

String cadena = “esto es una cadena con espacios en medio”;
while (!cadena.equals(cadena.replace(” “, “”))) {
cadena = cadena.replace(” “, ” “);
System.out.println(“cadena=” + cadena);
}

Alguien sabe otro método o alguna librería (así como ApacheCommons) que ya lo implemente?

Víctor Cuervo

andres

hola a todos estoy haciendo un teclado con ventanas y botones en java y no se como hacer la opcion de borrado, estoy utilizando System.out.print para mostrar la letras que se presionan, si alguienme puede ayudar le agradeceria

Víctor Cuervo

alejandro

yo tengo un problema parecido, ojala alguien me pueda ayudar, es el siguiente:
tengo una cadena de n palabras, todas las tengo que meter en casillas diferentes de un vector, eso esta facil, lo que se me complica es lo siguiente: lo que esta en la cadena puede o no tener comillas (” “) cuando un texto este entre ellas el vector debe de tomar todo lo que este dentro de las comillas como una sola palabra… de antemano agradesco su alluda…. mi correo es alex_che-to@hotmail.com

Víctor Cuervo

lineadecodigo

@Paul Ventura,

Es un programa de consola con un main. Ejecutándolo directamente debería de funcionar.

No necesitas Netbeans u otro programa. Con que tengas el JDK te es suficiente.

A ver si esta URL te puede ayudar…
http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-ejecutando-mi-aplicacion

Víctor Cuervo

Paul Ventura

que onda, tengo una duda puesto q no se puede ejecutar en jdk de java o tiene q ser algun programa en especial netbeans o algo asi porque no me funciona, si compila pero para ejecutar no se puede tiene q ser en forma de applet o normal

Víctor Cuervo

percy

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

Víctor Cuervo

lineadecodigo

@Merey16,

Me alegro que sea de ayuda.

Víctor Cuervo

Merey16

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!!!

Víctor Cuervo

ing Diego

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?

Víctor Cuervo

john fredy clavijo

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

Víctor Cuervo

Kenny Mendieta

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

Víctor Cuervo

Armando Ayala

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

Víctor Cuervo

Paola

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”

Víctor Cuervo

john fredy clavijo

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.

Víctor Cuervo

victor

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

Víctor Cuervo

john fredy clavijo

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?

Víctor Cuervo

john fredy clavijo

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(” “,””);

Víctor Cuervo

Flashk

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.

Víctor Cuervo

Charles

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í..

Víctor Cuervo

bardack

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

Víctor Cuervo

Malora

pues yo lo ago mas rapido utilizo replaceAll

ejem

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

Víctor Cuervo

yoni

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

Víctor Cuervo

lineadecodigo

@knk,

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

Víctor Cuervo

knk

String.trim();

Víctor Cuervo

ALEX DICK

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

GRAIAS…

Víctor Cuervo

jheyson vela a.

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();
}

Víctor Cuervo

penyaskito

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

Víctor Cuervo

luis vivas

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.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*