Для доступа к отдельным символам строки в Java у нас есть String.charAt(2)
. Есть ли встроенная функция для удаления отдельного символа строки в java?
Что-то вроде этого:
if(String.charAt(1) == String.charAt(2){
//I want to remove the individual character at index 2.
}
couple
изsubstring
иindexOf
. Но это создаст новый строковый объект.Ответы:
Вы также можете использовать
StringBuilder
изменяемый класс.У него есть метод
deleteCharAt()
, наряду со многими другими методами мутатора.Просто удалите символы, которые вам нужно удалить, и получите следующий результат:
Это позволяет избежать создания ненужных строковых объектов.
источник
String numbers = "0123456789"; char c = '2'; numbers = numbers.replace(c, Character.MIN_VALUE);
Я хочу заменить символ '' (пустой)Одна возможность:
Обратите внимание, что результатом является новая строка (а также два промежуточных объекта String), потому что строки в Java неизменяемы.
источник
Вы можете использовать метод Java String под названием replace, который заменит все символы, соответствующие первому параметру, вторым параметром:
источник
Нет, потому что строки в Java неизменяемы. Вам нужно будет создать новую строку, удалив символ, который вам не нужен.
Чтобы заменить один символ
c
в позиции индексаidx
в строкеstr
, сделайте что-нибудь вроде этого и помните, что будет создана новая строка:источник
deleteCharAt ()
заменить ()
символ []
источник
Рассмотрим следующий код:
источник
Вы также можете использовать (огромную) машину регулярных выражений.
"(?s)" -
сообщает regexp обрабатывать новые строки как обычные символы (на всякий случай)."(.{2})" -
группа $ 1 собирает ровно 2 персонажа"." -
любой символ с индексом 2 (выдавить)."(.*)" -
группа $ 2, которая собирает остальную часть inputString."$1$2" -
объединение группы $ 1 и группы $ 2.источник
Чтобы изменить строки, прочитайте о StringBuilder, потому что он изменяемый, за исключением неизменяемого String. Здесь можно найти различные операции https://docs.oracle.com/javase/tutorial/java/data/buffers.html . Приведенный ниже фрагмент кода создает StringBuilder, а затем добавляет данную String, а затем удаляет первый символ из String, а затем преобразует его обратно из StringBuilder в String.
источник
Используйте функцию replaceFirst класса String. Существует так много вариантов функции замены, которые вы можете использовать.
источник
Если вам нужен некоторый логический контроль над удалением символов, используйте это
Если вам не нужен такой контроль, вы можете использовать то, что упомянул Оскар или Бхеш. Они на месте.
источник
Используя метод замены, мы можем изменить отдельный символ строки.
источник
Самый простой способ удалить символ из строки
источник
источник
В большинстве случаев использование
StringBuilder
илиsubstring
является хорошим подходом (как уже было сказано). Однако для кода, критичного к производительности, это может быть хорошей альтернативой.источник
* Вы можете удалить строковое значение, используя StringBuilder и deletecharAt.
источник
Да. У нас есть встроенная функция для удаления отдельного символа строки в java, то есть deleteCharAt
Например,
Вывод
источник
Если вы хотите удалить символ из String str по определенному индексу int :
источник
источник
источник
Когда у меня возникают вопросы такого рода, я всегда спрашиваю: «Что бы сделали гуру Java?» :)
И в данном случае я бы ответил на это, посмотрев на реализацию
String.trim()
.Вот экстраполяция этой реализации, которая позволяет использовать больше символов обрезки.
Однако обратите внимание, что исходная обрезка фактически удаляет все имеющиеся символы
<= ' '
, поэтому вам, возможно, придется объединить это с исходным, чтобы получить желаемый результат.источник
источник
Чтобы удалить один символ из данной строки, пожалуйста, найдите мой метод, надеюсь, он будет полезен. Я использовал str.replaceAll для удаления строки, но есть много способов удалить символ из данной строки, но я предпочитаю метод replaceall.
Код для удаления символа:
Образ консоли:
пожалуйста, найдите прикрепленное изображение консоли,
Спасибо за вопрос. :)
источник
Я только что реализовал этот служебный класс, который удаляет символ или группу символов из String . Я думаю, это быстро, потому что не использует Regexp. Надеюсь, это кому-то поможет!
Это результат:
источник
Например, если вы хотите подсчитать, сколько в String, вы можете сделать это следующим образом:
источник