Удаление символа из строки java

В Java у меня есть строка:

Я хотел бы удалить первый символ строки, а затем вернуть amaica

Как бы я это сделал?

12 ответов

Используйте функцию substring() с аргументом 1 чтобы получить подстроку с позиции 1 ( после первого символа) до конца строки (оставляя второй аргумент по умолчанию равным полной длине строки).

Используйте substring() и укажите количество символов, которое вы хотите обрезать спереди.

В Java удаляйте ведущий символ, только если это определенный символ

Используйте троичный оператор Java, чтобы быстро проверить, присутствует ли ваш персонаж перед его удалением. Это удаляет начальный символ, только если он существует, если передана пустая строка, вернуть пустую строку.

Java, удалите все экземпляры символа в любом месте строки:

Java, удалите первый экземпляр символа в любом месте строки:

Вы можете использовать метод substring класса String который принимает только начальный индекс и возвращает подстроку, которая начинается с символа по указанному индексу и продолжается до конца строки.

Главное, что нужно понять в Java, это то, что строки неизменны – вы не можете их изменить. Поэтому нет смысла говорить о «удалении символа из строки». Вместо этого вы создаете НОВУЮ строку с нужными вам символами. Другие посты в этом вопросе дают вам множество способов сделать это, но важно понимать, что они никак не меняют исходную строку. Любые ссылки на старую строку будут продолжать ссылаться на старую строку (если вы не измените их для ссылки на другую строку) и не будут затронуты вновь созданной строкой.

Читайте также:  Циферблаты часов раскрашены по разному вася подсчитал

Это имеет ряд последствий для производительности. Каждый раз, когда вы «модифицируете» строку, вы фактически создаете новую строку с учетом всех накладных расходов (распределение памяти и сборка мусора). Поэтому, если вы хотите внести ряд изменений в строку и заботиться только о конечном результате (промежуточные строки будут мертвыми, как только вы их «измените»), может иметь смысл использовать вместо них StringBuilder или StringBuffer.

Есть список ненужных символов, допустим String taboo = "1234567890!@#$%^&*()_+!№;%:?*/\"

И есть строка String s = sc.nextLine();

Как из вводимой строки удалить(заменить пробелами) все символы, которые есть в списке taboo ?

4 ответа 4

Если вы читаете текст построчно и этот текст достаточно длинный, то, возможно есть смысл сделать таким образом:

Две строки кода в средине метода main – это ваш цикл. В итоге на выходе вы получите объект StringBuilder в данном контексте именованный как result.

В этом случае приходится создавать дополнительную коллекцию типа сет, однако при большом объеме текста использование этой коллекции и StringBuilder должно окупиться и с точки зрения времени выполнения, и с точки зрения системных ресурсов.

Попробуйте протестировать на время в реальных условиях, выложите результат. Мне тоже интересно.

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

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

В языке Java для строковых полей типа String отсутствует метод удаления символа с указанным индексом (в C# это метод Remove). Поэтому, чтобы произвести удаление символа из строки в Java нужно пойти на некоторые ухищрения. Рассмотрим в данном уроке один из таких способов.

Читайте также:  Усилитель pas 240 отзывы

Удаление символа с помощью комбинации методов substring

В Java у строк есть метод substring(int startIndex, int endIndex), который возвращает подстроку из исходной строки с позиции startIndex (включительно) до endIndex (не включительно). Нумерация индексов начинается с нуля.

С помощью данного метода извлечём из исходной строки две подстроки до и после удаляемого элемента (его индекс обозначим, как deletePosition) и соединим их в одну. Тем самым в новой строке будет отсутствовать символ с индексом deletePosition.

Оцените статью
Добавить комментарий

Adblock detector