String cadena= "123456789";
int cantidad= 2; /* Total de elementos a Eliminar*/
/* Total de elementos a Mostrar*/
int m = Math.max(0, cadena.length() - cantidad);
import java.util.Objects;
public class Main {
public static void main(String[] args) {
System.out.printf("\"%s\"%n", acortar("123456789", 2));
System.out.printf("\"%s\"%n", acortar("123456789", 4));
System.out.printf("\"%s\"%n", acortar("123456789", 8));
System.out.printf("\"%s\"%n", acortar("123456789", 10));
}
public static String acortar(String cadena, int n) {
Objects.requireNonNull(cadena, "La cadena no puede ser nula.");
int indice = n > cadena.length() ? 0 : cadena.length() - n;
return cadena.substring(0, indice);
}
}
以字符串为例
"123456789"
,以及要删除的字符数的变量利用Substring(int start, int end)方法,类似于 SubSequence(int start, int end)
在这种情况下,利用StringBuilder类将输出字符串的大小分配为先前获得的值
m
Array
使用toCharArray()方法将字符串转换为 Char ,然后将其传递给new String(char[] chars,int a ,int b)Array
的构造函数String
正则表达式(将 2 修改为要删除的字符数)
你可以这样删除:
它已经被淘汰了,你只需要玩或改变你想要淘汰的角色数量。
值得澄清的是,Java 中的字符串是不可变的。
[substring(int)][1]
您可以使用and方法[length()][1]
,最简单的方法
substring
是使用类方法java.lang.String
。另一方面,如果您打算将此代码片段与其他字符串和长度一起重用,我建议将它放在一个方法中。那是(例如):❐代码
❐退出