java string replace
Tento kurz vysvětlí vše o metodě Java String Replace () spolu s metodami ReplaceAll () a ReplaceFirst () pomocí příkladů:
Prozkoumáme také několik příkladů založených na scénářích a často kladené otázky, které objasní koncept.
Po absolvování tohoto kurzu budete vědět o metodách replace (), replaceFirst () a replaceAll () a tyto dvě metody budete moci použít při řešení problémů s řetězcem.
=> Prohlédněte si příručku Java Beginners Guide zde.
Co se naučíte:
Java String Replace
Než budeme pokračovat, musíme vědět, že metoda Java String replace () má tři různé varianty, jak je uvedeno níže:
- Java String replace ()
- Java String replaceAll ()
- Java String replaceFirst ()
Všechny tyto varianty mají svůj vlastní význam a lze je použít na základě požadavku během jakékoli manipulace s řetězcem. Každá z těchto metod má také své vlastní varianty, které jsou diskutovány spolu s jejich syntaxí a podrobnostmi jejich implementace v druhé části tohoto tutoriálu.
Stručně řečeno, metoda Java String replace () slouží k nahrazení všech výskytů libovolného daného znaku novým znakem.
Metoda Java String replaceAll () funguje v souladu s regulárním výrazem a na základě regulárního výrazu si můžeme svobodně vybrat, jaký typ operace budeme mít na vstupním řetězci.
Kromě toho se metoda Java String replaceFirst () používá k nahrazení prvního vyskytujícího se znaku novým znakem.
Metoda String Replace ()
Jak název napovídá sám, metoda replace () slouží k nahrazení všech výskytů konkrétního znaku řetězce novým znakem.
Java String Replace má dvě varianty, jak je uvedeno níže.
# 1) Metoda nahrazení znaku.
Syntaxe pro nahrazení znaků:
String replace(char originalChar, char replacingChar)
# 2) Metoda nahrazení pro posloupnost znaků.
Syntaxe pro posloupnost znaků nahrazuje:
String replace(CharSequence original, CharSequence replacing)
Výměna znaku
Níže příklad , inicializujeme proměnnou String. Poté nahradíme jakýkoli konkrétní znak řetězce novým znakem.
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ýstup:
Výměna pořadí znaků
V tomhle příklad , budeme diskutovat o jiné formě metody Java String replace ().
funkce přítele v C ++
Syntax:
String replace(CharSequence original, CharSequence replacing)
Tato forma metody Java String replace () nahrazuje jednu posloupnost znaků druhou. V níže uvedeném příkladu inicializujeme proměnnou String a poté nahradíme sekvenci znaků druhou.
Podívejme se na níže uvedený pří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ýstup:
Metoda String ReplaceAll ()
Tato metoda vrací nový String jako výstup a tento nový String je založen na výsledku regulárních výrazů, které poskytujeme v regulárním výrazu.
Syntaxe pro ReplaceAll:
String replaceAll(String regex, String output)
Výměna všech znaků
V tomhle příklad , uvidíme, jak metoda replaceAll () pracuje s regulárními výrazy. V tomto programu nahradíme všechny prázdné znaky mezi znaky symbolem „%“ pomocí metody replaceAll () za regulární 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ýstup:
Metoda String ReplaceFirst ()
Kromě nahrazení () a replaceAll () máme další metodu nazvanou metoda replaceFirst (), která slouží k nahrazení prvního vyskytujícího se znaku libovolného řetězce.
Tato metoda vrací nový řetězec, ve kterém je první znak nahrazen novým znakem. Podívejme se na syntaxi pro více podrobností.
Syntaxe pro ReplaceFirst:
String replaceFirst(char oldFirstChar, char newFirstChar)
Výměna prvního znaku
V tomto programu jsme vzali vstupní řetězec a pokusili se nahradit první vyskytující se znak novým znakem pomocí metody replaceFirst ().
Uvnitř metody replaceFirst () jsme předali starý první znak a nový první znak. Vrácený řetězec nahradí starý první znak novým prvním znakem.
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ýstup:
Scénáře
Scénář 1: Nahrazení podřetězce pomocí metody Java replaceAll ().
Vysvětlení: V tomto scénáři nahradíme podřetězec z hlavního řetězce novým podřetězcem.
V tomto programu jsme využili zástupný znak „*“, za kterým následuje řetězec „Fred“. Každý výskyt Freda bude nahrazen novým řetězcem „Ted“. Jak víme, zástupný znak je speciální znak, který můžeme použít k reprezentaci jakéhokoli jiného znaku.
Zde jsme použili „Fred *“, tj. Pro každý výskyt „Fred“, „Fredd“, „Fredx“, „Fredy“ atd., Nahradí každého z nich novým řetězcem „Ted“. Rovněž nahradí „Freddy“ (podřetězec ve vstupním řetězci níže uvedeného programu) výrazem „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ýstup:
Scénář 2: Nahrazení řetězce, který začíná sekvencí znaků, novým řetězcem.
Vysvětlení: Zde nahradíme řetězec, který začíná určitou sekvencí znaků, novým řetězcem. Použili jsme stejný vstupní řetězec (jako výše uvedený scénář), poté jsme provedli operaci regulárního výrazu pomocí 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ýstup:
Často kladené otázky
Otázka č. 1) Jak změnit znak pomocí replace () a replaceAll ()?
Odpovědět: Změna znaku funguje dobře s metodami replace () i replaceAll (). Podívejme se na následující program, kde najdete další informace.
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ýstup:
Otázka č. 2) Jak nahradit znak v řetězci v Javě bez použití metody replace ()?
Odpovědět: V níže uvedeném programu jsme nepoužili metodu replace () k nahrazení znaku vyskytujícího se v indexu = 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ýstup:
Otázka č. 3) Jak nahradit poslední výskyt řetězce v Javě?
Odpovědět: V tomto programu jsme použili regulární výraz s metodou replaceAll () k nahrazení posledního výskytu řetězce.
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ýstup:
Otázka č. 4) Jak změnit hodnotu řetězce v Javě?
Odpovědět: Existuje mnoho metod Java String, které mohou změnit hodnotu řetězce.
Podívejme se na metodu 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ýstup:
Otázka č. 5) Co je to zástupný znak? Vysvětlit.
Odpovědět: Zástupný znak je speciální znak, který se používá k reprezentaci jakéhokoli jiného znaku. V indexu, kde jsme definovali zástupný znak, lze použít libovolný znak. Některé běžné zástupné znaky jsou „*“, „?“ Atd.
Uveďme si příklad řetězce „jíst *“. Zde se zástupný znak „*“ vyskytuje u posledního indexu. To znamená, že řetězec bude vždy začínat „jíst“, ale je možné si vybrat koncové znaky.
Když se tedy pokusíte vyhledat pomocí řetězce String jako „jíst *“, výsledkem vyhledávání může být „jíst“, „jíst“, „jíst“, „jíst“ atd.
Závěr
V tomto kurzu jsme podrobně prozkoumali metody Java String replace () a replaceAll (). Kromě těchto dvou metod jsme se dozvěděli také o metodě replaceFirst ().
V tomto výukovém programu byly zahrnuty dostatečné příklady programování, které vám poskytnou další podrobnosti o každé z těchto tří metod. Příklady regulárních výrazů byly také poskytnuty jako součást metody replaceAll ().
Doufáme, že scénářové a často kladené otázky obsažené v tomto kurzu by vám poskytly skvělý přehled o nahrazení řetězců Java.
router vyžaduje uživatelské jméno a heslo
=> Navštivte zde a dozvíte se Java od začátku.
Doporučené čtení
- Výukový program Java String | Metody řetězců Java s příklady
- Výukový program Java String s funkcí String Buffer a String Builder
- Metoda Java String Split () - Jak rozdělit řetězec v Javě
- Metoda Java String length () S příklady
- Java String obsahuje () Výukový program metod s příklady
- Metoda Java String compareTo s příklady programování
- Výukový program Java String Array - příklady kódu
- Java String indexOf metoda s příklady kódu