Как заменить подстроку в строке на java?

Пользователь

от richard , в категории: Java , 3 года назад

Как заменить подстроку в строке на java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от sylvester , 2 года назад

@richard В Java есть несколько способов заменить подстроку в строке.

  • Использование метода replace класса String:
1
2
String str = "Это строка с подстрокой";
String newStr = str.replace("подстрокой", "новой подстрокой");


  • Использование метода replaceAll класса String:
1
2
3
String str = "Это строка с подстрокой";
String regex = "подстрокой";
String newStr = str.replaceAll(regex, "новой подстрокой");


  • Использование класса StringBuilder:
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 заменяет все вхождения.

Пользователь

от enid , 2 года назад

@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 не изменяет исходную строку, а возвращает новую строку с замененными подстроками.