从String的末尾删除n个字符

时间:2013-05-01 12:56:20

标签: java string integer

我可以以某种方式从字符串末尾删除n个字符吗?

例如:

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

结果为a = "Hell"

5 个答案:

答案 0 :(得分:2)

好的,不是给你-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 :(得分:1)

没有。你可以期待的最好的是:

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

或者这个:

a = new StringBuilder(a).deleteCharAt(a.length() - 1).toString();

甚至这个:

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

答案 2 :(得分:1)

答案绝对不是!但是如果要使用基于整数的索引删除整数字符,则可以使用substring。试试这个:

String a = "Hello";

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

System.out.println(a);

答案 3 :(得分:1)

试试这个:

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

请参阅此String#substring(int beginIndex,int endIndex)以便更好地了解:

  

返回一个新字符串,该字符串是此字符串的子字符串。子串   从指定的beginIndex开始并延伸到at处的字符   index endIndex - 1.因此子字符串的长度是   endIndex的-的beginIndex。

答案 4 :(得分:0)

不,你不能从字符串中减去,但是你可以用substring实现你想要的东西:

        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);