我可以以某种方式从字符串末尾删除n
个字符吗?
例如:
String a = "Hello";
a -= 1;
结果为a
= "Hell"
?
答案 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);