logo

Разлика между replace() и replaceAll() в Java

Класът Java String предоставя различни методи за манипулиране на низове. The замени() и замениВсички() са един от тях, които се използват за замяна на низ с определен подниз. Тъй като името на двата метода звучи еднакво, но работата им е различна.

Нека разберем методите replace(), replaceAll() и replaceFirst() и да разграничим всеки един от тях един по един.

Метод String.replace().

The замени() методът е един от най-използваните низови методи за замяна на всички срещания на символ с дадения символ. Методът replace() на JDK 1.5 замества char и поредица от char стойности.

центриране на изображение в css

Синтаксис:

Това са следните два вида замени() методи в класа Java String.

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

Параметри

предишен знак: Параметърът определя знака на низа, който трябва да бъде заменен.

формат на java низ

нов знак: Параметърът дефинира newChar, който заема мястото на prevChar.

мишена: Параметърът дефинира целевата последователност от знаци.

замяна: Параметърът определя заместващата последователност от знаци.

Нека вземем пример, за да разберем как можем да използваме метода replace() в Java програми.

ReplaceExample1.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) 

Параметри

улица: Параметърът дефинира подниза, който трябва да заменим в низа.

java mvc

замяна: Параметърът дефинира заместващия низ, който заема мястото на str.

нередно преминаване на дърво

Нека вземем пример, за да разберем как можем да използваме метода replaceAll() в нашите програми.

ReplaceExample3.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.

Нека вземем пример, за да разберем как можем да използваме метода replaceFirst() в нашите програми.

csv файл чете java

ReplaceExample2.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