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

Заменить символ по определенному индексу в строке в Java

· 2 мин. чтения

1. Введение

В этом кратком руководстве мы покажем, как заменить символ по определенному индексу в строке в Java.

Мы представим четыре реализации простых методов, которые принимают исходную строку, символ и индекс, в котором нам нужно его заменить.

2. Использование массива символов

Давайте начнем с простого подхода, используя массив char.

Здесь идея состоит в том, чтобы преобразовать String в char[] и затем присвоить новый char по заданному индексу. Наконец, мы создаем нужную строку из этого массива.

public String replaceCharUsingCharArray(String str, char ch, int index) {
char[] chars = str.toCharArray();
chars[index] = ch;
return String.valueOf(chars);
}

Это низкоуровневый подход к проектированию, который дает нам большую гибкость.

3. Использование метода подстроки

Подход более высокого уровня заключается в использовании метода substring() класса String .

Он создаст новую строку , объединив подстроку исходной строки перед индексом с новым символом и подстрокой исходной строки после индекса:

public String replaceChar(String str, char ch, int index) {
return str.substring(0, index) + ch + str.substring(index+1);
}

4. Использование StringBuilder

Мы можем получить тот же эффект, используя StringBuilder . Мы можем заменить символ по определенному индексу, используя метод setCharAt():

public String replaceChar(String str, char ch, int index) {
StringBuilder myString = new StringBuilder(str);
myString.setCharAt(index, ch);
return myString.toString();
}

5. Вывод

В этой статье мы сосредоточились на нескольких способах замены символа по определенному индексу в строке с помощью Java .

Экземпляры строк неизменяемы, поэтому нам нужно создать новую строку или использовать StringBuilder , чтобы дать нам некоторую изменчивость.

Как обычно, полный исходный код приведенного выше руководства доступен на GitHub .