Автор оригинала: Pankaj Kumar.
Строка Java replaceAll() заменяет все вхождения определенного символа, строки или регулярного выражения в строке. Метод возвращает новую строку в качестве вывода. Метод требует двух параметров.
Синтаксис String replaceAll()
public String replaceAll(String regex, String replacement)
Регулярное выражение , представляющее шаблон, который нужно искать при замене, и замена | строка для его замены.
Существует несколько типов подстановок, которые возможны с помощью метода String replaceAll ().
Замена одного символа
Чтобы заменить один символ, укажите заменяемый символ в качестве регулярного выражения.
public class Main { public static void main(String[] args) { String s = "Welcome to JournalDev"; System.out.println("Original String : "+s); System.out.println(); String rep = s.replaceAll("o","@"); System.out.println("New String: "+rep); } }
Original String: Welcome to JournalDev New String: Welc@me t@ J@urnalDev
Заменить последовательность символов
Чтобы заменить последовательность символов, укажите последовательность в качестве регулярного выражения в функции replaceAll () .
public class Main { public static void main(String[] args) { String s = "Welcome to JournalDev"; System.out.println("Original String : "+s); System.out.println(); String rep = s.replaceAll("to","this is"); System.out.println("New String: "+rep); } }
Original String : Welcome to JournalDev New String: Welcome this is JournalDev
Удалить/Заменить Пробелы
Метод replaceAll() может удалить или заменить пробелы в вашей текстовой строке.
public class Main { public static void main(String[] args) { String s = "Welcome to JournalDev"; System.out.println("Original String : "+s); System.out.println(); String rep = s.replaceAll(" ",""); System.out.println("New String: "+rep); } }
Original String : Welcome to JournalDev New String: WelcometoJournalDev
Аналогично, для замены пробелов:
public class Main { public static void main(String[] args) { String s = "Welcome to JournalDev"; System.out.println("Original String : "+s); System.out.println(); String rep = s.replaceAll(" ","_"); System.out.println("New String: "+rep); } }
Original String : Welcome to JournalDev New String: Welcome_to_JournalDev
Скрытие цифровых цифр в тексте
Функция replaceAll() может скрывать числовые цифры, которые отображаются в строке. Цифры могут быть заменены на ‘*’.
public class Main { public static void main(String[] args) { String s = "Hello! this is the number : 1234 "; System.out.println("Original String : "+s); System.out.println(); String rep = s.replaceAll("[0-9]","*"); System.out.println("New String: "+rep); } }
Original String : Hello! this is the number : 1234 New String: Hello! this is the number : ****
Создание пользовательских сообщений
replaceAll() может заменить строки в общей строке для создания пользовательского сообщения. Давайте возьмем значения с карты и сгенерируем пользовательское сообщение.
import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { String s = "dear #Employee#, your Current Salary is #Salary#."; Mapvals = new HashMap (); vals.put("#Employee#", "John"); vals.put("#Salary#", "12000"); for (String key : vals.keySet()) { s = s.replaceAll(key, vals.get(key)); } System.out.println(s); } }
dear John, your Current Salary is 12000.
Замените Сначала
В отличие от replaceall(), replaceFirst() заменяет только первый экземпляр шаблона.
public class Main { public static void main(String[] args) { String s = "Welcome to JournalDev"; System.out.println("Original String : "+s); System.out.println(); String rep = s.replaceFirst("o","@"); System.out.println("New String: "+rep); } }
Original String: Welcome to JournalDev New String: Welc@me to JournalDev
Вывод
Метод replaceAll() заменяет регулярное выражение строкой. Это отличается от простого метода замены (), который выполняет только замены символов. Вы можете узнать больше о функции replaceall() из ее официальной документации .