Para acceder a caracteres individuales de una cadena en Java, tenemos String.charAt(2)
. ¿Hay alguna función incorporada para eliminar un carácter individual de una cadena en Java?
Algo como esto:
if(String.charAt(1) == String.charAt(2){
//I want to remove the individual character at index 2.
}
couple
desubstring
yindexOf
. Pero eso creará un nuevo objeto de cadena.Respuestas:
También puede usar la
StringBuilder
clase que es mutable.Tiene el método
deleteCharAt()
, junto con muchos otros métodos mutantes.Simplemente elimine los caracteres que necesita eliminar y luego obtenga el resultado de la siguiente manera:
Esto evita la creación de objetos de cadena innecesarios.
fuente
String numbers = "0123456789"; char c = '2'; numbers = numbers.replace(c, Character.MIN_VALUE);
Quiero reemplazar el carácter '' (vacío)Una posibilidad:
Tenga en cuenta que el resultado es una nueva cadena (así como dos objetos de cadena intermedios), porque las cadenas en Java son inmutables.
fuente
Puede usar el método Java String llamado replace, que reemplazará todos los caracteres que coincidan con el primer parámetro con el segundo parámetro:
fuente
No, porque las cadenas en Java son inmutables. Tendrá que crear una nueva cadena que elimine el carácter que no desea.
Para reemplazar un único carácter
c
en la posición de índiceidx
en la cadenastr
, haga algo como esto y recuerde que se creará una nueva cadena:fuente
deleteCharAt ()
reemplazar()
carbonizarse[]
fuente
Considere el siguiente código:
fuente
También puede usar la máquina de expresiones regulares (enorme).
"(?s)" -
le dice a regexp que maneje nuevas líneas como caracteres normales (por si acaso)."(.{2})" -
grupo $ 1 que recoge exactamente 2 personajes"." -
cualquier carácter en el índice 2 (para ser exprimido)."(.*)" -
grupo $ 2 que recolecta el resto de inputString."$1$2" -
poniendo el grupo $ 1 y el grupo $ 2 juntos.fuente
Para modificar cadenas, lea sobre StringBuilder porque es mutable a excepción de una cadena inmutable. Se pueden encontrar diferentes operaciones aquí https://docs.oracle.com/javase/tutorial/java/data/buffers.html . El fragmento de código a continuación crea un StringBuilder y luego agrega la Cadena dada y luego elimina el primer carácter de la Cadena y luego la convierte de nuevo en una Cadena.
fuente
Utilice la función replaceFirst de la clase String. Hay tantas variantes de la función de reemplazo que puede usar.
fuente
Si necesita algún control lógico sobre la eliminación de caracteres, use esto
Si no necesita ningún control, puede usar lo que Oscar o Bhesh mencionaron. Ellos son acertados.
fuente
Mediante el uso del método de reemplazo, podemos cambiar un solo carácter de cadena.
fuente
La forma más fácil de eliminar un char de la cadena
fuente
fuente
En la mayoría de los casos de uso, usar
StringBuilder
osubstring
es un buen enfoque (como ya se respondió). Sin embargo, para el código crítico de rendimiento, esta podría ser una buena alternativa.fuente
* Puede eliminar el valor de la cadena usando StringBuilder y deletecharAt.
fuente
Si. Tenemos una función incorporada para eliminar un carácter individual de una cadena en Java, es decir, deleteCharAt
Por ejemplo,
Salida
fuente
Si desea eliminar un carácter de un String str en un índice int específico :
fuente
fuente
fuente
Cuando tengo este tipo de preguntas siempre pregunto: "¿qué harían los Java Gurus?" :)
Y respondería eso, en este caso, mirando la implementación de
String.trim()
.Aquí hay una extrapolación de esa implementación que permite utilizar más caracteres de recorte.
Sin embargo, tenga en cuenta que el recorte original en realidad elimina todos los caracteres que están
<= ' '
, por lo que es posible que deba combinar esto con el original para obtener el resultado deseado.fuente
fuente
Para eliminar un solo carácter de la cadena dada, encuentre mi método, espero que sea útil. He usado str.replaceAll para eliminar la cadena, pero hay muchas formas de eliminar un carácter de una cadena determinada, pero prefiero el método replaceall.
Código para eliminar Char:
Imagen de la consola:
encuentra la imagen adjunta de la consola,
Gracias por preguntar. :)
fuente
Acabo de implementar esta clase de utilidad que elimina un carácter o un grupo de caracteres de una Cadena . Creo que es rápido porque no usa Regexp. ¡Espero que ayude a alguien!
Esta es la salida:
fuente
Por ejemplo, si desea calcular cuántos a hay en la Cadena, puede hacerlo así:
fuente