Можно ли как-то удалить n
символы с конца строки?Удалить n символов с конца строки
В примере:
String a = "Hello";
a -= 1;
С результатом является a
= "Hell"
?
Можно ли как-то удалить n
символы с конца строки?Удалить n символов с конца строки
В примере:
String a = "Hello";
a -= 1;
С результатом является a
= "Hell"
?
Попробуйте это:
a = a.substring(0,a.length()-1);
Смотрите эту String#substring(int beginIndex,int endIndex) лучше понять:
Возвращает новую строку который является подстрокой этой строки. Подстрока начинается с указанного beginIndex и продолжается до символа в index endIndex - 1. Таким образом, длина подстроки равна endIndex-beginIndex.
No. Лучшее, что вы можете надеяться на что-то вроде:
a = a.substring(0, a.length() - 1);
Или это:
a = new StringBuilder(a).deleteCharAt(a.length() - 1).toString();
Или даже так:
a = a.replaceAll(".$", "");
Это должно быть \t \t 'a = a.substring (0, a.length() - 1);' –
@ZouZou ОК. Я набираю этот материал на своем iPhone:/ – Bohemian
Ответ определенно нет! Но вы можете использовать substring
, если вы хотите удалить символы целыми числами с использованием индекса на основе целых чисел. Попробуйте это:
String a = "Hello";
a = a.substring(0,a.length()-1);
System.out.println(a);
Нет, вы не можете subract из строки, однако вы можете добиться того, что вы хотите с подстроки:
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);
Ok, вместо того чтобы дать вам -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);
No. Почему вы ожидаете вычитанием 1 из "Привет" вычитать букву о? – geoffspear
Er ... Нет! Даже на любом другом языке, о котором я знаю. – OldCurmudgeon
Использовать метод подстроки –