Как в String incrypt = "qwerty12345"; удалить нужные по очереди символы допустим 2,6?
Как в String incrypt = "qwerty12345";
удалить нужные символы допустим 2,6 !
Ответы (2 шт):
Есть прекрасная функция в стандартной библиотеке Java:
String substring(int beginIndex, int endIndex)
Пример:
incrypt.substring(1, removableIndex) + incrypt.substring(removableIndex + 1);
Так же вы можете использовать StringBuilder:
StringBuilder sb = new StringBuilder(incrypt);
sb.deleteCharAt(removableIndex);
sb.toString();
Строки в Java это больная тема. Так как строка в Java является полноценным объектом, то, каждая манипуляция со строкой [использование встроенных методов/функций] приводит к тому, что строка не перезаписывается, а по сути - пересоздается заново. По времени это просто кошмар.
Самый простой способ убрать нужные символы в строке, без использования посторонних функций/методов и знаний - пройтись по всей строке и проверять каждый символ на удовлетворение Вашим условиям.
//наша исходная строка
String incrypt = "qwerty12345";
//создаем новую строку, которая будет содержать конечный ответ
String tempText;
//начальная инициализация
tempText = "";
//пробегаемся по всем символам в нашей исходной строке и проверяем на условия
//например, удалим символы '2' и '6'
for(int i = 0; i < incrypt.length(); i++)
if(incrypt.charAt(i) != '2' && incrypt.charAt(i) != '6')
tempText += incrypt.charAt(i);
tempText будет содержать конечный вариант строки, которая нам нужна.
Можно использовать и встроенные методы/функции, но, они в большинстве своем требуют указания индекса символа, который мы хотим удалить. В итоге, нам придется каждый раз пробегаться по всей строке и искать индекс каждого удаляемого символа, а потом для каждого символа вызывать отдельный метод для удаления символа из строки. Это затратно во времени.