Зачастую требуется удалить первый символ в строке. Это можно сделать очень просто, используя стандартные методы класса String.
Как удалить первый символ
Так как строки в Java иммутабельны (их значение нельзя изменить), для удаления строки придётся скопировать всю строку, кроме первого символа. Это довольно тривиальная задача, которую можно решить с помощью метода substring:
String s = "!привет, мир"; String s2 = s.substring(1); System.out.println(s2);
Результат:
привет, мир
Здесь мы объявили переменную s и присвоили ей значение «ппривет, мир». Затем, с помощью метода substring, мы создали новую строку, начиная с первой позиции. Нумерация в строке идёт с нуля, то есть нулевой позиции соответствует первый символ «!», первой позиции – второй символ «п» и так далее:
Номер позиции | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Символ | ! | п | р | и | в | е | т | , | м | и | р |
Улучшенный вариант
Для создания переиспользуемого метода по удалению первого символа из строки важно добавить проверку на null и на длину строки:
public static String removeFirstChar(String s) { return (s == null || s.length() == 0) ? "" : (s.substring(1)); }
Это безопасный метод, который не выбросит исключение из-за того, что на вход были переданы некорректные данные. В случае, если в качестве аргумента был передан null или строка из одного символа, то на выходе будет возвращена пустая строка
Полный исходный код примера:
public class RemoveFirstCharSubstring { public static void main(String[] args) { System.out.println(removeFirstChar("!привет, мир")); } public static String removeFirstChar(String s) { return (s == null || s.length() == 0) ? "" : (s.substring(1)); } }
Заключение
С помощью метода substring можно скопировать часть исходной строки и получить новую строку. Для написания утилитарных методов важно проверять входящие данные на корректность.