java string replace
Acest tutorial va explica totul despre metoda Java String Replace () împreună cu metodele ReplaceAll () și ReplaceFirst () cu ajutorul exemplelor:
De asemenea, vom explora câteva exemple bazate pe scenarii și întrebări frecvente care vor clarifica conceptul.
La parcurgerea acestui tutorial, veți afla despre metodele replace (), replaceFirst () și replaceAll () și veți putea folosi aceste două metode în problemele de manipulare a șirurilor.
=> Consultați aici Ghidul pentru începători Java.
Ce veți învăța:
Înlocuirea șirului Java
Înainte de a continua, trebuie să știm că metoda Java String replace () are trei variante diferite, așa cum se menționează mai jos:
- Java String replace ()
- Java String replaceAll ()
- Java String replaceFirst ()
Toate aceste variante au propria lor semnificație și acestea pot fi utilizate pe baza cerinței în timpul oricărei manipulări a șirurilor. De asemenea, fiecare dintre aceste metode are propriile variante, care sunt discutate împreună cu sintaxa și detaliile lor de implementare în ultima parte a acestui tutorial.
Pe scurt, metoda Java String replace () este utilizată pentru a înlocui toate aparițiile unui caracter dat cu un caracter nou.
Java String replaceAll () metoda funcționează în conformitate cu expresia regulată și pe baza expresiei regulate, suntem liberi să alegem ce tip de operație vom avea pe o șir de intrare.
În plus, metoda Java String replaceFirst () este utilizată pentru a înlocui primul caracter care apare cu un caracter nou.
String Replace () Metoda
După cum sugerează și numele, metoda replace () este utilizată pentru a înlocui toate aparițiile unui caracter specific al unui șir cu un caracter nou.
Java String Replace are două variante așa cum se arată mai jos.
# 1) Metoda de înlocuire a personajului.
Sintaxa pentru caracter înlocuiește:
String replace(char originalChar, char replacingChar)
# 2) Metoda de înlocuire pentru secvența de caractere.
Sintaxa pentru secvența de caractere înlocuiește:
String replace(CharSequence original, CharSequence replacing)
Înlocuirea unui caracter
În cele de mai jos exemplu , vom inițializa o variabilă String. Apoi, vom înlocui orice caracter specific al șirului cu un caracter nou.
public class replace { public static void main(String() args) { // Initialized a String String str = 'CAT'; // Replaced the character 'C' with 'R' String replace = str.replace('C', 'R'); // Printed the Original String System.out.println('The Original String was: ' + str); // Printed the Final String after replace() operation System.out.println('The Final String is: ' + replace); } }
Ieșire:
Înlocuirea secvenței de caractere
In acest exemplu , vom discuta despre cealaltă formă a metodei Java String replace ().
diferența dintre cazul de testare și scenariul de testare
Sintaxă:
String replace(CharSequence original, CharSequence replacing)
Această formă de metodă Java String replace () înlocuiește o secvență de caractere cu cealaltă. În exemplul de mai jos, vom inițializa o variabilă String, apoi vom înlocui secvența char cu cealaltă.
Să vedem exemplul de mai jos.
public class replace { public static void main(String() args) { // Initialized a String String str = 'Shooting'; // Replaced the character sequence 'oot' with 'out' String replace = str.replace('oot', 'out'); // Printed the Original String System.out.println('The Original String was: ' +str); // Printed the Final String after replace() char sequence operation System.out.println('The Final String is: ' +replace); } }
Ieșire:
String ReplaceAll () Method
Această metodă returnează un nou șir ca ieșire și acest nou șir se bazează pe rezultatul expresiilor regulate pe care le oferim în regex.
Sintaxa pentru ReplaceAll:
String replaceAll(String regex, String output)
Înlocuirea tuturor caracterelor
In acest exemplu , vom vedea cum funcționează replaceAll () cu expresii regulate. În acest program, vom înlocui toate spațiile albe dintre caractere cu un simbol „%” folosind metoda replaceAll () cu expresie regulată.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'This is a Testing Website'; /* * Replacing all the whitespaces between * characters with the '%' */ String replaceAll = str.replaceAll('\s+', '%'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
Ieșire:
String ReplaceFirst () Metodă
În afară de replace () și replaceAll (), avem o altă metodă numită substitutFirst () metodă care este utilizată pentru a înlocui primul caracter care apare din orice șir.
Această metodă returnează un nou șir în care primul caracter este înlocuit cu un caracter nou. Să analizăm sintaxa pentru mai multe detalii.
Sintaxa pentru ReplaceFirst:
String replaceFirst(char oldFirstChar, char newFirstChar)
Înlocuirea primului personaj
În acest program, am luat un șir de intrare și am încercat să înlocuim primul caracter care apare cu un caracter nou folosind metoda replaceFirst ().
În cadrul metodei replaceFirst (), am trecut vechiul prim caracter și noul prim caracter. Șirul returnat va înlocui primul personaj vechi cu primul personaj nou.
public class ReplaceFirst { public static void main(String() args) { String str = 'PPPPP'; System.out.println(str); // Replaced the first occurrence of 'P' with 'Q' String replaceFirst = str.replaceFirst('P', 'Q'); System.out.println(replaceFirst); } }
Ieșire:
Scenarii
Scenariul 1: Înlocuirea unui șir folosind metoda Java replaceAll ().
Explicaţie: În acest scenariu, vom înlocui un șir din șirul principal cu un șir nou.
În acest program, am folosit caracterul wildcard ‘*’ care este urmat de șirul „Fred”. Fiecare apariție a lui Fred va fi înlocuită de noul șir „Ted”. După cum știm, un caracter wildcard este un caracter special pe care îl putem folosi pentru a reprezenta orice alt personaj.
Aici, am folosit „Fred *”, adică pentru fiecare apariție a „Fred”, „Fredd”, „Fredx”, „Fredy” și așa mai departe, va înlocui fiecare dintre ele cu noul șir „Ted”. De asemenea, va înlocui „Freddy” (șirul din șirul de intrare al programului de mai jos) cu „Tedy”.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'Fred Freddy Franklin Michael Trevor Fredy'; // Replacing the names that start with Fred with the Ted String replaceAll = str.replaceAll('Fred*', 'Ted'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
Ieșire:
Scenariul 2: Înlocuirea unui șir care începe cu o secvență de caractere cu un șir nou.
Explicaţie: Aici, vom înlocui un șir care începe cu o anumită secvență de caractere cu un șir nou. Am folosit același șir de intrare (ca un scenariu de mai sus), apoi am efectuat operația regex folosind replaceAll.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'Fred Freddy Franklin Michael Trevor Fredy'; // Replacing the entire String that starts with Fred with the Ted String replaceAll = str.replaceAll('Fred.*', 'Ted'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
Ieșire:
întrebări frecvente
Q # 1) Cum se schimbă un caracter folosind replace () și replaceAll ()?
Răspuns: Schimbarea unui caracter funcționează bine atât cu metodele replace (), cât și replaceAll (). Să analizăm următorul program pentru mai multe informații.
public class replaceAndReplaceAll { public static void main(String() args) { // Initialized a String variable String str = 'CUT'; // Replaced 'C' with 'P' using replace() method String replace = str.replace('C', 'P'); // Replaced 'C' with 'P' using replaceAll() method String replaceAll = str.replaceAll('C', 'P'); // Printed Original String System.out.println('Original String: ' +str); // Printed the output of replace() method System.out.println('Replace String: ' +replace); // Printed the output of replaceAll() method System.out.println('ReplaceAll String: ' +replaceAll); } }
Ieșire:
Q # 2) Cum se înlocuiește un caracter într-un șir în Java fără a utiliza metoda replace ()?
Răspuns: În programul de mai jos nu am folosit metoda replace () pentru a înlocui caracterul care apare la index = 2.
public class withoutReplace { public static void main(String() args) { String str = 'This'; // Printed Original String System.out.println(str); // Replacing character at position 2 which is 'i' String replaced = str.substring(0, 2) + 'u' + str.substring(2 + 1); // Printed Replaced String System.out.println(replaced); } }
Ieșire:
Q # 3) Cum se înlocuiește ultima apariție a unui șir în Java?
Răspuns: În acest program, am folosit expresia regulată cu metoda replaceAll () pentru a înlocui ultima apariție a unui șir.
public class replaceAll { public static void main(String() args) { // Initialized a String variable String str = 'Tony Stark John Jon StarkTony'; /* * '$' means the last element of the matching pattern. * So we have replaced the last occurrence of 'Tony' with * 'Trevor' using regex = 'Tony$' */ String replaceAll = str.replaceAll('Tony$', 'Trevor'); // Printed the original element System.out.println(str); // Printed the replaced element System.out.println(replaceAll); } }
Ieșire:
Q # 4) Cum se schimbă valoarea șirului în Java?
Răspuns: Există o mulțime de metode Java String care pot schimba valoarea unui șir.
Să ne uităm la metoda replace ().
public class replace { public static void main(String() args) { String str = '1000'; System.out.println(str); // Changing the value of the Original String String changed = str.replace('000', '111'); System.out.println(changed); } }
Ieșire:
Q # 5) Ce este un caracter wildcard? Explica.
Răspuns: Un caracter wildcard este un caracter special care este folosit pentru a reprezenta orice alt caracter. Orice caracter poate fi utilizat în indexul în care am definit caracterul wildcard. Unele dintre caracterele comune cu caractere wildcard sunt „*”, „?” Etc.
Să luăm un exemplu a unui șir „mănâncă *”. Aici, caracterul wildcard „*” apare la ultimul index. Aceasta înseamnă că șirul va începe întotdeauna cu „mâncați”, dar este liber să alegeți caracterele de final.
Deci, atunci când încercați să căutați cu șirul de intrare ca „mâncați”, atunci rezultatul căutării poate fi „mâncați”, „mâncați”, „mâncați”, „mâncați” și așa mai departe.
Concluzie
În acest tutorial, am explorat detaliat metodele Java String replace () și replaceAll (). În afară de aceste două metode, am aflat și despre metoda replaceFirst ().
Exemple suficiente de programare au fost incluse în acest tutorial, pentru a vă oferi mai multe detalii despre fiecare dintre aceste trei metode. Exemple de expresii regulate au fost, de asemenea, furnizate ca parte a metodei replaceAll ().
Sperăm că întrebările bazate pe scenarii și cele mai frecvente incluse în acest tutorial v-ar fi oferit o perspectivă excelentă despre Java String Replace.
=> Vizitați aici pentru a afla Java de la zero.
Lectură recomandată
- Tutorial Java String | Metode Java String cu exemple
- Java String cu buffer de șiruri și tutorial pentru generatorul de șiruri
- Metoda Java String Split () - Cum se împarte un șir în Java
- Java String length () Metodă cu exemple
- Șirul Java conține () Tutorial metodă cu exemple
- Java String compare Metoda cu exemple de programare
- Java String Array - Tutorial cu exemple de cod
- Java String indexOf Method cu exemple de cod