logo

Різниця між replace() і replaceAll() у Java

Клас Java String надає різні методи для роботи з рядком. The замінити() і замінитиВсе() метод є одним із них, які використовуються для заміни рядка на вказаний підрядок. Оскільки назва обох методів звучить однаково, але їхня робота відрізняється.

Давайте розберемося з методами replace(), replaceAll() і replaceFirst() і розрізнимо кожен з них окремо.

Метод String.replace().

The замінити() метод є одним із найпоширеніших рядкових методів для заміни всіх входжень символу заданим символом. Метод replace() JDK 1.5 замінює char і послідовність значень char.

q4 місяці

Синтаксис:

Це наступні два типи замінити() методи в класі Java String.

 public string replace(char prevChar, char newChar) public String replace(CharSequence target, CharSequence replacement) 

Параметри

prevChar: Параметр визначає символ рядка, який потрібно замінити.

java підручник

новий символ: Параметр визначає newChar, який займає місце prevChar.

мета: Параметр визначає цільову послідовність символів.

заміна: Параметр визначає послідовність заміни символів.

Розглянемо приклад, щоб зрозуміти, як можна використовувати метод replace() у програмах Java.

ЗамінитиExample1.java

 // import required classes and packages package javaTpoint.JavaExample; import java.util.Scanner; // create class ReplaceExample1 to understand both type of replace() method public class ReplaceExample1 { // main() method start public static void main(String args[]){ // declare str1 str2, c, and subStr String str1, str2, targetStr, replacementStr; char prevChar, newChar; // create instance of Scanner class to take input string from user Scanner sc = new Scanner(System.in); // take 1st string from user System.out.println('Enter 1st string :'); str1 = sc.nextLine(); System.out.println('Enter 2nd string :'); str2 = sc.nextLine(); System.out.println('Enter the target string for 1st string :'); targetStr = sc.nextLine(); System.out.println('Enter the replacement string for 1st string :'); replacementStr = sc.nextLine(); System.out.println('Enter character which you want to replace in 2nd string :'); prevChar = sc.next().charAt(0); System.out.println('Enter character which take place of :'+prevChar+' in 2nd string :'); newChar = sc.next().charAt(0); sc.close(); String replaceStr1 = str2.replace(prevChar, newChar);//replaces all occurrences of prevChar to newChar System.out.println('String after replacing '+prevChar+' with '+newChar+' is: '+replaceStr1); String replaceStr2 = str1.replace(targetStr, replacementStr);//replaces all occurrences of targetStr with replacementStr System.out.println('String after replacing '+targetStr+' with '+replacementStr+' is: '+replaceStr2); } } 

Вихід:

replace() проти replaceAll() у Java

Метод String.replaceAll().

The замінитиВсе() метод подібний до методу String.replaceFirst(). Єдина відмінність між ними полягає в тому, що він замінює підрядок заданим рядком для всіх входжень, присутніх у рядку.

Синтаксис:

Синтаксис методу replaceAll() такий:

 public String replaceAll(String str, String replacement) 

Параметри

str: Параметр визначає підрядок, який потрібно замінити в рядку.

машинопис дата час

заміна: Параметр визначає рядок заміни, який займає місце str.

java зворотний рядок

Розглянемо приклад, щоб зрозуміти, як можна використовувати метод replaceAll() у наших програмах.

ЗамінитиExample3.java

 // import required classes and packages package javaTpoint.JavaExample; import java.util.Scanner; // create class ReplaceExample3 to understand replaceAll() method public class ReplaceExample3 { // main() method start public static void main(String args[]){ // declare str1 str2, subStr String str1, targetStr, replacementStr; // create instance of Scanner class to take input string from user Scanner sc = new Scanner(System.in); // take 1st string from user System.out.println('Enter 1st string :'); str1 = sc.nextLine(); System.out.println('Enter the target string for 1st string :'); targetStr = sc.nextLine(); System.out.println('Enter the replacement string for 1st string :'); replacementStr = sc.nextLine(); sc.close(); String replaceStr1 = str1.replaceAll(targetStr, replacementStr);//replaces all occurrences of targetStr to replacementStr System.out.println('String after replacing '+targetStr+' with '+replacementStr+' is: '+replaceStr1); } } 

Вихід:

replace() проти replaceAll() у Java

Метод String.replaceFirst().

The replaceFirst() метод є іншим методом заміни підрядка. Він замінює підрядок заданим рядком. Метод replaceFirst() замінює лише перше входження підрядка.

Синтаксис:

Синтаксис методу replaceFirst() такий:

 public String replaceFirst(String str, String replacement) 

Параметри

Str: Параметр визначає підрядок, який потрібно замінити в рядку.

Заміна: Параметр визначає рядок заміни, який займає місце str.

Розглянемо приклад, щоб зрозуміти, як можна використовувати метод replaceFirst() у наших програмах.

висота kat timpf

ЗамінитиExample2.java

 // import required classes and packages package javaTpoint.JavaExample; import java.util.Scanner; // create class ReplaceExample2 to understand replaceFirst() method public class ReplaceExample2 { // main() method start public static void main(String args[]){ // declare str1 str2, subStr String str1, targetStr, replacementStr; // create instance of Scanner class to take input string from user Scanner sc = new Scanner(System.in); // take 1st string from user System.out.println('Enter 1st string :'); str1 = sc.nextLine(); System.out.println('Enter the target string for 1st string :'); targetStr = sc.nextLine(); System.out.println('Enter the replacement string for 1st string :'); replacementStr = sc.nextLine(); sc.close(); String replaceStr1 = str1.replaceFirst(targetStr, replacementStr);//replaces first occurrences of targetStr to replacementStr System.out.println('String after replacing '+targetStr+' with '+replacementStr+' is: '+replaceStr1); } 

Вихід:

replace() проти replaceAll() у Java