Я пытаюсь создать приложение, в котором вы получаете вход через компонент editText и помещаете его в строку, как показано ниже:
number = findViewById(R.id.editText2);
newNumber = number.getText().toString();
Теперь я хочу заменитьначало строки, если определенное условие выполняется следующим образом:
if (number.getText().toString().substring(0, 1).equals("0")) {
newNumber = newNumber.replaceFirst("06", "3876");
Log.d("TAG", newNumber);
}
Я получаю сообщение об ошибке, говорящее, что индекс StringIndexIsOutOfBounds = 2 length = 0
Я также пробовал это так:
if (newNumber.startsWith("06")) {
newNumber = newNumber.replaceFirst("06", "3876");
Log.d("TAG", newNumber);
//Toast.makeText(MainActivity.this, newNumber, Toast.LENGTH_SHORT).show();
}
else {
...
}
Когда я выполняю этот запрос, я получаю оператор else.
Поскольку я пытался сделать это во многих комбинациях, аналогичная команда выдает пустой тост.(Не могу вспомнить, что именно это сделал, но это даже не имеет значения, поскольку это также неправильно)
Что не так в моем коде?Строка - это все числа, но я нашел, что проще всего сделать замену в строке, если вы знаете о лучшей реализации, будьте моим гостем.На входе должно быть 9 чисел, а на выходе должно быть 11 чисел (я заменяю 06 на 3876, поэтому я получаю там 2 дополнительных числа).
(Я искал SO для подобных проблем, и некоторые попытки были воссозданы,но не удачно)