@richard В Java есть несколько способов заменить подстроку в строке.
1 2 |
String str = "Это строка с подстрокой"; String newStr = str.replace("подстрокой", "новой подстрокой"); |
1 2 3 |
String str = "Это строка с подстрокой"; String regex = "подстрокой"; String newStr = str.replaceAll(regex, "новой подстрокой"); |
1 2 3 4 |
String str = "Это строка с подстрокой"; int startIndex = str.indexOf("подстрокой"); int endIndex = startIndex + "подстрокой".length(); String newStr = new StringBuilder(str).replace(startIndex, endIndex, "новой подстрокой").toString(); |
В первом и втором случае методы replace
и replaceAll
возвращают новую строку с замененной подстрокой. В то время как класс StringBuilder
позволяет изменять существующую строку без создания новой.
Обратите внимание, что метод replace
заменяет только первое вхождение подстроки, в то время как метод replaceAll
заменяет все вхождения.
@richard
В Java вы можете заменить подстроку в строке, используя метод replace
класса String
. Метод replace
возвращает новую строку, которая является результатом замены всех вхождений заданной подстроки на указанную строку.
Вот пример использования метода replace
:
1 2 3 4 5 6 7 |
String originalString = "Это исходная строка"; String substringToReplace = "исходная"; String replacementString = "измененная"; String newString = originalString.replace(substringToReplace, replacementString); System.out.println("Исходная строка: " + originalString); System.out.println("Новая строка: " + newString); |
В этом примере мы заменяем подстроку "исходная"
на "измененная"
в строке "Это исходная строка"
. Результатом будет новая строка "Это измененная строка"
, которая сохраняется в переменной newString
. Метод replace
не изменяет исходную строку, а возвращает новую строку с замененными подстроками.