-2

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

例如:

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

结果是a= "Hell"

4

5 回答 5

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);
于 2013-05-01T13:03:35.150 回答
1

尝试这个:

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

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

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

于 2013-05-01T12:59:50.617 回答
1

不,您可以期望的最好的结果是:

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

或这个:

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

甚至这样:

a = a.replaceAll(".$", "");
于 2013-05-01T12:58:54.710 回答
1

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

String a = "Hello";

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

System.out.println(a);
于 2013-05-01T12:59:07.133 回答
0

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

        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);
于 2013-05-01T12:59:39.230 回答