Eliminar los últimos n caracteres de una string en Java
Esta publicación discutirá cómo eliminar el último n
caracteres desde el final de una string en Java.
Dado que las cadenas son inmutables en Java, su longitud es fija. Eso significa que no podemos hacer ningún cambio en la instancia de String. La única solución factible es crear un nuevo objeto String con el último n
Caracteres eliminados del final de una string:
1. Usando String.substring()
método
El enfoque recomendado es utilizar el substring()
método proporcionado por el String
clase. La idea es tomar una subcadena desde el principio de la cadena y considerar todos los caracteres excepto el último n
caracteres.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class Main { public static String removeLastNchars(String str, int n) { return str.substring(0, str.length() - n); } public static void main(String[] args) { String str = "HelloWorld.java"; int n = 5; System.out.println(removeLastNchars(str, n)); // HelloWorld } } |
Siempre debemos asegurarnos de que una string esté correctamente delimitada, de lo contrario StringIndexOutOfBoundsException
podría ser arrojado. Aquí hay una implementación segura para excepciones:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public class Main { public static String removeLastNchars(String str, int n) { if (str == null || str.length() < n) { return str; } return str.substring(0, str.length() - n); } public static void main(String[] args) { String str = "HelloWorld.java"; int n = 5; System.out.println(removeLastNchars(str, n)); // HelloWorld } } |
2. Usando StringUtils.removeEnd()
método
También podemos lograr esto usando el removeEnd
método de la StringUtils
clase proporcionada por la biblioteca Apache Commons. Elimina una subcadena solo si está al final de una cadena de origen; de lo contrario, devuelve la cadena de origen. Esto se demuestra a continuación:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import org.apache.commons.lang3.StringUtils; public class Main { public static String removeLastNchars(String str, int n) { if (str == null || str.length() < n) { return str; } String lastNChars = str.substring(str.length() - n); return StringUtils.removeEnd(str, lastNChars); } public static void main(String[] args) { String str = "Hello.java"; int n = 5; System.out.println(removeLastNchars(str, n)); // HelloWorld } } |
Eso es todo acerca de la eliminación de la última n
caracteres desde el final de una string en Java.