java string replace
V tomto výučbe vám pomocou príkladov vysvetlíme všetky metódy Java String Replace () spolu s metódami ReplaceAll () a ReplaceFirst ():
Preskúmame tiež niekoľko príkladov založených na scenároch a často kladené otázky, ktoré objasnia tento koncept.
Po absolvovaní tohto tutoriálu budete vedieť o metódach replace (), replaceFirst () a replaceAll () a budete môcť tieto dve metódy použiť pri riešení problémov s reťazcami.
=> Tu si pozrite príručku Java Beginners Guide.
Čo sa dozviete:
Java String Nahradiť
Než budeme pokračovať, musíme vedieť, že metóda Java String replace () má tri rôzne varianty, ako je uvedené nižšie:
- Java String replace ()
- Java String replaceAll ()
- Java String replaceFirst ()
Všetky tieto varianty majú svoj vlastný význam a môžu byť použité na základe požiadavky pri akejkoľvek manipulácii s reťazcom. Každá z týchto metód má tiež svoje vlastné varianty, ktoré sú popísané spolu s ich syntaxou a podrobnosťami o ich implementácii v druhej časti tohto tutoriálu.
Stručne povedané, metóda Java String replace () sa používa na nahradenie všetkých výskytov ľubovoľného daného znaku novým znakom.
Metóda Java String replaceAll () funguje v súlade s regulárnym výrazom a na základe regulárneho výrazu si môžeme slobodne zvoliť, aký typ operácie budeme mať na vstupnom reťazci.
Ďalej sa metóda Java String replaceFirst () používa na nahradenie prvého vyskytujúceho sa znaku novým znakom.
Metóda nahradenia reťazca ()
Ako už samotný názov napovedá, metóda replace () sa používa na nahradenie všetkých výskytov konkrétneho znaku reťazca novým znakom.
Nahradenie reťazca Java má dve varianty, ako je uvedené nižšie.
# 1) Metóda nahradenia znaku.
Syntax pre nahradenie znaku:
String replace(char originalChar, char replacingChar)
# 2) Metóda nahradenia postupnosti znakov.
Syntax sekvencie znakov sa nahradí:
String replace(CharSequence original, CharSequence replacing)
Výmena znaku
V nasledujúcom príklad , inicializujeme premennú String. Potom nahradíme akýkoľvek konkrétny znak reťazca novým znakom.
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); } }
Výkon:
Výmena postupnosti znakov
V tomto príklad , budeme diskutovať o inej forme metódy Java String replace ().
Syntax:
String replace(CharSequence original, CharSequence replacing)
Táto forma metódy Java String replace () nahrádza jednu postupnosť znakov druhou. V nasledujúcom príklade inicializujeme premennú String a potom nahradíme postupnosť znakov druhou.
Pozrime sa na nasledujúci príklad.
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); } }
Výkon:
Metóda String ReplaceAll ()
Táto metóda vracia ako výstup nový reťazec a tento nový reťazec je založený na výsledku regulárnych výrazov, ktoré poskytujeme v regulárnom výraze.
Syntax pre ReplaceAll:
String replaceAll(String regex, String output)
Výmena všetkých znakov
V tomto príklad , uvidíme, ako bude replaceAll () pracovať s regulárnymi výrazmi. V tomto programe nahradíme všetky medzery medzi znakmi symbolom „%“ pomocou metódy replaceAll () za regulárny výraz.
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); } }
Výkon:
Metóda String ReplaceFirst ()
Okrem replace () a replaceAll () máme inú metódu nazvanú replaceFirst () metóda, ktorá sa používa na nahradenie prvého vyskytujúceho sa znaku ľubovoľného reťazca.
Táto metóda vráti nový reťazec, v ktorom je prvý znak nahradený novým znakom. Pozrime sa na syntax pre ďalšie podrobnosti.
Syntax pre ReplaceFirst:
String replaceFirst(char oldFirstChar, char newFirstChar)
Výmena prvého znaku
V tomto programe sme vzali vstupný reťazec a pokúsili sme sa nahradiť prvý vyskytujúci sa znak novým znakom pomocou metódy replaceFirst ().
Vo vnútri metódy replaceFirst () sme odovzdali starý prvý znak a nový prvý znak. Vrátený reťazec nahradí starý prvý znak novým prvým znakom.
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); } }
Výkon:
Scenáre
Scenár 1: Výmena podreťazca pomocou metódy Java replaceAll ().
Vysvetlenie: V tomto scenári ideme nahradiť podreťazec z hlavného reťazca novým podreťazcom.
V tomto programe sme použili zástupný znak „*“, za ktorým nasleduje reťazec „Fred“. Každý výskyt Freda bude nahradený novým reťazcom „Ted“. Ako vieme, zástupný znak je špeciálny znak, ktorým môžeme zastupovať akýkoľvek iný znak.
Tu sme použili výraz „Fred *“, t. J. Pre každý výskyt výrazov „Fred“, „Fredd“, „Fredx“, „Fredy“ atď., Nahradí každého z nich novým reťazcom „Ted“. Tiež nahradí „Freddy“ (podreťazec vo vstupnom reťazci nižšie uvedeného programu) výrazom „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); } }
Výkon:
Scenár 2: Nahradenie reťazca, ktorý začína postupnosťou znakov, novým reťazcom.
Vysvetlenie: Tu nahradíme reťazec, ktorý začína určitou sekvenciou znakov, novým reťazcom. Použili sme rovnaký vstupný reťazec (ako vyššie uvedený scenár), potom sme vykonali operáciu regulárneho výrazu pomocou 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); } }
Výkon:
často kladené otázky
Otázka č. 1) Ako zmeniť znak pomocou replace () a replaceAll ()?
ako otvoriť súbor .air
Odpoveď: Zmena znaku funguje dobre s metódami replace () aj replaceAll (). Pozrime sa na nasledujúci program, kde nájdete ďalšie informácie.
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); } }
Výkon:
Otázka č. 2) Ako nahradiť znak v reťazci v Jave bez použitia metódy replace ()?
Odpoveď: V nasledujúcom programe sme nepoužili metódu replace () na nahradenie znaku vyskytujúceho sa pri 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); } }
Výkon:
Otázka č. 3) Ako nahradiť posledný výskyt reťazca v Jave?
Odpoveď: V tomto programe sme použili regulárny výraz s metódou replaceAll () na nahradenie posledného výskytu reťazca.
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); } }
Výkon:
Otázka č. 4) Ako zmeniť hodnotu reťazca v Jave?
Odpoveď: Existuje veľa metód Java String, ktoré môžu zmeniť hodnotu reťazca.
Pozrime sa na metódu 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); } }
Výkon:
Otázka č. 5) Čo je to zástupný znak? Vysvetlite.
Odpoveď: Zástupný znak je špeciálny znak, ktorý sa používa na predstavenie iného znaku. V indexe, kde sme definovali zástupný znak, je možné použiť akýkoľvek znak. Niektoré bežné zástupné znaky sú „*“, „?“ Atď.
Uveďme si príklad reťazca „jesť *“. Tu sa zástupný znak „*“ vyskytuje pri poslednom indexe. To znamená, že reťazec bude vždy začínať výrazom „jesť“, je však na voľbe koncových znakov.
Ak sa teda pokúsite vyhľadať pomocou reťazca „reťazec“ ako „zjesť *“, výsledok vyhľadávania môže byť „zjesť“, „zjedený“, „jedlý“, „jesť“ atď.
Záver
V tomto tutoriáli sme podrobne preskúmali metódy Java String replace () a replaceAll (). Okrem týchto dvoch metód sme sa dozvedeli aj o metóde replaceFirst ().
Do tohto tutoriálu bolo zahrnuté dostatočné množstvo príkladov programovania, ktoré vám poskytnú ďalšie podrobnosti o každej z týchto troch metód. Ako súčasť metódy replaceAll () boli poskytnuté aj príklady regulárnych výrazov.
Dúfame, že scenáre založené na často kladených otázkach, ktoré sú súčasťou tohto tutoriálu, vám poskytnú skvelý prehľad o nahradení reťazca Java.
=> Navštívte tu a dozviete sa Java od začiatku.
Odporúčané čítanie
- Výukový program pre Java String Metódy reťazca Java s príkladmi
- Výukový program Java String s programom String Buffer a String Builder
- Metóda Java String Split () - Ako rozdeliť reťazec v Jave
- Metóda Java String length () s príkladmi
- Java String obsahuje () Výukový program metód s príkladmi
- Metóda Java String compareTo s príkladmi programovania
- Výukový program Java String Array s príkladmi kódu
- Metóda Java String indexOf s príkladmi kódu