Перейти к содержимому

Как удалить последний символ в stringbuilder java

  • автор:

StringBuilder удалить определённый символ в строке

Отредактируйте ваш вопрос, добавьте информацию о том, сколько раз в строке может встречаться символ + , нужно ли удалять все символы + или только первый (последний).

14 авг 2021 в 17:13

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Чтобы найти индекс определенного символа:

int index = stringBuilder.indexOf(String.valueOf(ch)); 

Далее, удалим этот символ по индексу, если такой индекс был найден:

if (index != -1)

Обратите внимание, что indexOf вернет индекс первого совпадения. Соответственно, будет удален только первый попавшийся символ + .

Отслеживать
ответ дан 14 авг 2021 в 17:08
Vadik Sirekanyan Vadik Sirekanyan
8,571 4 4 золотых знака 21 21 серебряный знак 36 36 бронзовых знаков

  • java
  • строки
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.8.3130

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как удалить последний символ в строке java

Строки в Java неизменяемы, поэтому удаление символа из строки сводится к формированию новой строки на основе старой, в которой будет отсутствовать последний символ. Для этого можно использовать класс StringBuilder :

var word = "Apple"; var newWord = new StringBuilder(word) .deleteCharAt(word.length() - 1) .toString(); System.out.println(newWord); // => Appl 

17 ноября 2022

Можно с помощью метода substring()

String newWord = word.substring(0, word.length() - 1); 

Чтобы избежать ошибки, можно с проверкой на null и пустую строку :

String newWord = (word == null || word.length() == 0) ? null : word.substring(0, word.length() - 1); 

Удаление последнего символа из строки в Java

Одной из обычных проблем при работе со строками в Java является удаление последнего символа из строки. Допустим, у вас есть строка «Привет, мир!».

Алексей Кодов
Автор статьи
10 июля 2023 в 15:00

Одной из обычных проблем при работе со строками в Java является удаление последнего символа из строки. Допустим, у вас есть строка «Привет, мир!». Вы хотите удалить последний символ, чтобы получить «Привет, мир». Как это можно сделать?

Одним из способов решения этой проблемы может быть использование метода substring() в Java. Этот метод возвращает новую строку, которая является подстрокой данной строки. Вы можете указать начальный и конечный индексы для создания подстроки.

Пример кода, который удаляет последний символ из строки:

public String removeLastChar(String str)

В этом коде str.length() — 1 возвращает индекс последнего символа в строке. Затем substring(0, str.length() — 1) создает подстроку от начала строки до символа перед последним.

Но стоит помнить, что этот код не будет работать с пустой строкой. В этом случае возникнет исключение StringIndexOutOfBoundsException . Для обработки таких ситуаций можно добавить проверку на пустую строку:

public String removeLastChar(String str) < if (str != null && str.length() > 0) < return str.substring(0, str.length() - 1); >else < return str; >>

В этой версии кода проверка str != null && str.length() > 0 гарантирует, что строка не пуста перед вызовом substring() . Если строка пуста или null, метод просто вернет исходную строку.

Таким образом, если вы столкнулись с необходимостью удалить последний символ из строки в Java, вы можете использовать метод substring() . Он позволяет быстро и эффективно решить эту задачу.

Как удалить последний символ строки без помощи метода Remove?

Допустим имеем код, который выбросит argumentoutofrangeexception, если длина строки превышает максимально допустимое значение типа int, так как для метода Remove не имеется переопределения для более объёмных типов ЦЧ переменных, чем int:

if (_input[0] == _input[_input.Length — 1]) _input = _input.Remove(0, 1);
_input = _input.Remove(_input.Length — 1); // 1. Требуется заменить
>

Вопрос : есть ли такой метод для String, которым можно заменить помеченную комментарием строчку, если код ниже гарантированно выведет на консоль значение false?

  • Вопрос задан более трёх лет назад
  • 599 просмотров

1 комментарий

Простой 1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *