Java 从字符串末尾删除n个字符

Java 从字符串末尾删除n个字符,java,string,integer,Java,String,Integer,我可以从字符串的末尾删除n字符吗 例如: String a = "Hello"; a -= 1; 结果是a=“地狱”?不。你能期望的最好结果是: a = a.substring(0, a.length() - 1); 或者这个: a = new StringBuilder(a).deleteCharAt(a.length() - 1).toString(); 甚至这个: a = a.replaceAll(".$", ""); 答案肯定不是!但是,如果要使用基于整数的索引按整数删除字符,可

我可以从字符串的末尾删除
n
字符吗

例如:

String a = "Hello";
a -= 1;

结果是
a
=
“地狱”

不。你能期望的最好结果是:

a = a.substring(0, a.length() - 1);
或者这个:

a = new StringBuilder(a).deleteCharAt(a.length() - 1).toString();
甚至这个:

a = a.replaceAll(".$", "");

答案肯定不是!但是,如果要使用基于整数的索引按整数删除字符,可以使用
子字符串。试试这个:

String a = "Hello";

a = a.substring(0,a.length()-1);

System.out.println(a);

不,您不能从字符串中提取子字符串,但可以使用子字符串实现您想要的:

        String in="hello";
        String out=in.substring(0, 4); //takes the characters 0,1,2,3 from in (i.e. h e l l)

        System.out.println(out);
试试这个:

a = a.substring(0,a.length()-1);
请参阅以下内容以更好地理解:

返回作为此字符串的子字符串的新字符串。子串 从指定的beginIndex开始,并延伸到 索引endIndex-1。因此,子字符串的长度是 endIndex beginIndex


好的,我不给你-1,我可以帮你:) 在Java中,请执行以下操作:

String a = "Hello";
int stepsBack = 1;

if (a.length()>=stepsBack) //Avoid StringIndexOutOfBoundsException
    a=a.substring(0,a.length()-stepsBack);

System.out.println(a);

不。为什么你希望从“你好”中减去1就等于减去字母o?呃。。。不使用
substring
方法我希望它能删除字符串的最后一个条目。如果所说的
String
包含一个数字,那么你可以对其调用
parse
方法,然后执行计算,然后转换回字符串。这应该是
a=a.substring(0,a.length()-1);
@ZouZou好的。我正在我的iPhone上输入这些东西:/详细说明你的答案,让新手能理解你是什么saying@developer编辑了我的答案。1+感谢您更改了答案。