Рубрики
Без рубрики

Метод Java String replaceAll()

Java String replaceAll() заменяет все вхождения определенного символа, строки или регулярного выражения в строке. Метод возвращает новое

Автор оригинала: 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#.";
        Map vals = 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() из ее официальной документации .