¿Hay una manera fácil de eliminar una subcadena de un determinado String
en Java?
Ejemplo: "Hello World!"
eliminar "o"
→"Hell Wrld!"
Podrías usar fácilmente String.replace()
:
String helloWorld = "Hello World!";
String hellWrld = helloWorld.replace("o","");
Puedes usar StringBuffer
StringBuffer text = new StringBuffer("Hello World");
text.replace( StartIndex ,EndIndex ,String);
Echa un vistazo a Apache StringUtils :
static String replace(String text, String searchString, String replacement)
Reemplaza todas las ocurrencias de una Cadena dentro de otra Cadena.static String replace(String text, String searchString, String replacement, int max)
Reemplaza una cadena por otra cadena dentro de una cadena más grande, para los primeros valores máximos de la cadena de búsqueda.static String replaceChars(String str, char searchChar, char replaceChar)
Reemplaza todas las ocurrencias de un personaje en una Cadena por otra.static String replaceChars(String str, String searchChars, String replaceChars)
Reemplaza varios caracteres en una cadena de una vez.static String replaceEach(String text, String[] searchList, String[] replacementList)
Reemplaza todas las apariciones de cadenas dentro de otra cadena.static String replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)
Reemplaza todas las apariciones de cadenas dentro de otra cadena.static String replaceOnce(String text, String searchString, String replacement)
Reemplaza una Cadena con otra Cadena dentro de una Cadena más grande, una vez.static String replacePattern(String source, String regex, String replacement)
Reemplaza cada subcadena de la Cadena de origen que coincide con la expresión regular dada con el reemplazo dado usando la opción Pattern.DOTALL.
En tu ejemplo
fuente
Esto funciona bien para mi.
o puedes usar
fuente
Debería tener en cuenta
StringBuilder/StringBuffer
cuáles le permiten eliminar, insertar, reemplazar caracteres en el desplazamiento especificado .fuente
También puede usar la función CharMatcher.removeFrom de guayaba .
Ejemplo:
fuente
El método anterior ayudará a obtener la respuesta.
fuente
Puede usar Substring también para reemplazar con una cadena existente:
fuente
Aquí está la implementación para eliminar todas las subcadenas de la cadena dada
La implementación del método isSubstring () está aquí
fuente
En caso de que tenga alguna lógica complicada para filtrar el carácter, solo otra forma en lugar de
replace()
.fuente
Si conoce el índice inicial y final, puede usar esto
fuente