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