
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).
for (int x=0; x < sTexto.length(); x++) {
if (sTexto.charAt(x) != ' ')
sCadenaSinBlancos += sTexto.charAt(x);
}
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.
StringTokenizer stTexto = new StringTokenizer(sTexto);
while (stTexto.hasMoreElements())
sCadenaSinBlancos += stTexto.nextElement();
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.
Robin
Gracias amigo.
Víctor Cuervo
Gracias a ti Robin por el comentario.
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 :'(
josichu
Gracias, jaja yo matando porque no funcionaba ese .trim() ahora ya veo diversas formas de quitar los espacios.
Ruben
sCadenaSinBlancos += sTexto.charAt(x)
estas variables que son???
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»;
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.
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?
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?
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
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 [email protected]
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
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
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
lineadecodigo
@Merey16,
Me alegro que sea de ayuda.
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!!!
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?
john fredy clavijo
kenny lo que dices es practicamente lo que hemos dicho a lo largo del tema no? jejeje
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
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
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»
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.
victor
quisiera saber como borrar un determinado numero de caracteres de una cadena en java
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?
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(» «,»»);
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.
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í..
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
Malora
pues yo lo ago mas rapido utilizo replaceAll
ejem
String cadena=»asdfas df asd f asd asdf «;
System.out.println(caca.replaceAll(» «, «»));
yoni
dudo mucho que se pueda hacer en la misma variable, pero StringBuffer es mucho mas eficiente que concatenar Strings como dijo penyaskit
lineadecodigo
@knk,
String.trim() solo elimina los espacios en blanco del principio y del final. No si tienes espacio en medio.
knk
String.trim();
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…
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();
}
penyaskito
Las cadenas no se deben concatenar, usa StringBuilder o StringBuffer para manejar cadenas.
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.