English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод replaceAll() в String Java заменяет каждый подстроку, соответствующий регулярному выражению, текстом, указанным в строке замены.
Синтаксис replaceAll() метода:
string.replaceAll(String regex, String replacement)
replaceAll() метод имеет два параметра.
regex - Регулярное выражение для замены (может быть типичной строкой)
replacement - Подстрока, соответствующая шаблону, заменяется этой строкой
replaceAll() метод возвращает новый строку, где каждое вхождение подстроки заменяется строкой замены (replacement).
class Main { public static void main(String[] args) { String str1 = "aabbaaac"; String str2 = "Learn223Java55@"; // Регулярное выражение для последовательности чисел String regex = "\\d+"; // Все出现的 "aa" заменить на "zz" System.out.println(str1.replaceAll("aa", "zz")); // zzbbzzac // Заменить цифры или последовательности цифр пробелом System.out.println(str2.replaceAll(regex, " ")); // Learn Java @ {} {}
В предыдущем примере "\\d+" это регулярное выражение, которое соответствует одному или нескольким числам.
replaceAll() метод может принимать регулярное выражение или типичную строку в качестве первого параметра. Это потому, что типичная строка本身就是 регулярным выражением.
В регулярных выражениях некоторые символы имеют особое значение. Эти символы-метки:
\ ^ $ . | ? * + {} [] ()
Если нужно匹配 подстроку, содержащую эти символы, можно использовать \ или использовать метод replace() для escaping этих символов.
// Программа для замены знака + class Main { public static void main(String[] args) { String str1 = "+a-+b"; String str2 = "Learn223Java55@"; String regex = "\\+"; // Заменить "+" на "#" с помощью метода replaceAll() //// Использовать replaceAll() для замены "+" на "#" System.out.println(str1.replaceAll("\\+", "#")); // #a-#b // Заменить "+" на "#" с помощью replace() System.out.println(str1.replace("+", "#")); // #a-#b {} {}
Как вы видите, когда мы используем метод replace(), нам не нужно эскапировать мета-символы. Для получения дополнительной информации посетите:Java String replace()
Если вам нужно заменить только первый соответствующий подстроку, пожалуйста, используйтеJava String replaceFirst()Метод.