Java poskytuje několik metod pro odstranění podřetězců z řetězců.
1) Použití metody nahrazení
Tato metoda patří do třídy Java String a je přetížená, aby poskytovala dvě různé implementace stejné metody.
V prvním přístupu se do řetězce přidá nový znak, který nahradí každý předchozí znak.
Tímto způsobem vrátí řetězec s novými znaky po aktualizaci všech starých znaků.
Syntax:
string.replace(char oldChar, char newChar)
Procedura vrátí tento řetězec, pokud nový znak nelze v řetězci najít.
Příklad:
public class RemoveSubString { public static void main(String[] args) { String para = 'JavatPoint is for learning purpose'; String replace = para.replace('e', 'o'); System.out.println(replace); } }
Výstup:
2) Pomocí Charsequence
Druhá technika nahradí požadovaný řetězec znaků za CharSequence, což je pouze sbírka znaků.
Syntax:
java string trim
string.replace(char oldChar, char newChar)
Tato operace a první se liší pouze tím, že nahrazuje řetězec znaků.
Příklad:
public class RemoveSubString { public static void main(String[] arg){ String para = 'John like to learn programming'; String replace = para.replace('learn', 'teach'); System.out.println(replace); } }
Výstup:
3) Nahraďte podřetězec prázdným řetězcem
Java vám umožňuje snadno nahradit podřetězec, který chcete odstranit z řetězce, prázdným řetězcem.
Syntax:
string.replace(char oldChar, empty char)
Příklad:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String para = 'John like to learn code'; String replace = para.replace('to learn', ''); System.out.println(replace); } }
Výstup:
4) Použití metody ReplaceFirst společnosti String
Tato metoda hledá řetězec, který odpovídá regulárnímu výrazu, a pokud je nalezen, nahradí jej daným řetězcem.
V zákulisí tato funkce extrahuje text pomocí regulárního výrazu pomocí kompilovat() a zápasy() metody třídy Pattern.
Syntax:
formát řetězce
string.replaceFirst(No. of digit, new digit)
Bude vytvořen regulární výraz, který extrahuje číslo z řetězce a nahradí ho jiným číslem jako řetězcem.
Poznámka: Tímto číslem se změní pouze první dvě číslice řetězce; zbývající číslice zůstanou nezměněny.
Příklad:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String para = 'John is 101 years old, and Mary is 20 years old'; String replaceFirst = para.replaceFirst('\d\d\d', '20'); System.out.println(replaceFirst); } }
Výstup:
5) metoda replaceFirst().
The nahraditPrvni() metodu lze použít s prázdným řetězcem k odstranění podřetězce z řetězce.
Syntax:
pokud jinak v bash shellu
string.replace(No. of digit, empty char)
Příklad:
package org.arpit.java2blog.entry; public class RemoveSubStringFromString{ public static void main(String[] arg) { String para = ' John is 101 years old, and Mary is 20 years old '; String parafirstreplace = para.replaceFirst('\d\d', ''); System.out.println(parafirstreplace); }}
Výstup:
6) Pomocí metody nahradit vše
The vyměnit vše metoda, na rozdíl od nahraditPrvní , používá regulární výraz k nahrazení každé instance řetězce.
Podobný nahraditPrvní , tato metoda extrahuje řetězec pomocí regulárního výrazu pomocí kompilovat() a zápasy() metody. Vyrábí také a PatternSyntaxException pokud je regulární výraz nesprávný.
Syntax:
String replaceAll(No. of digit, int new number)
Použijeme regulární výraz, který vytáhne všechna čísla z řetězce a dosadí čísla za každou instanci.
d : Tento regulární výraz rozpoznává jakoukoli číslici mezi 0 a 9.
Příklad:
public class RemoveSubStringFromString { public static void main(String[] arg) { String para = ' John is 10 years old, and Mary is 20 years old '; String parareplace = para.replaceAll('\d\d', '30'); System.out.println(parareplace); }}
Výstup:
7) metoda nahraditAll().
Pomocí metody replaceAll() můžete použít prázdný řetězec k odstranění podřetězce z řetězce.
Syntax:
string.replace(No. of digit, empty char)
Příklad:
package org.arpit.java2blog; public class RemoveSubStringFromString { public static void main(String[] arg) { String replaceAll = ' John is 10 years old, and Mary is 20 years old '; String replaceAllNumbers = replaceAll.replaceAll('\d\d', ''); System.out.println(replaceAllNumbers); } }
Výstup:
fibonacciho sekvence java
8) Použití metody delete() Tvůrce řetězců
Chcete-li přidat a odebrat znaky z řetězce, StringBuilder obsahuje modifikovatelnou sekvenci znaků.
Tvůrce řetězců s počáteční kapacitou 16 znaků je vytvořen prázdným StringBuilder funkce Object() { [nativní kód] }, a pokud vnitřní vyrovnávací paměť přeteče, automaticky se vytvoří větší tvůrce řetězců.
Začátek a konec podřetězce, který se má z řetězce odstranit, jsou specifikovány jako první a druhý parametr int vymazat() funkce.
Poslední index je exkluzivní, protože odečítá jeden od druhého parametru, ale počáteční index je včetně.
Syntax:
public StringBuilder delete(int start,int end)
Když je začátek záporný, větší než délka struny nebo větší než konec struny, a Výjimka StringIndexOutOfBounds je hozen. Když jsou začátek a konec stejný, neprovádějí se žádné úpravy.
Příklad:
public class main{ public static void main(String[] args){ StringBuilder stringBuilder = new StringBuilder('Java is language or programming language'); StringBuilder builder = stringBuilder.delete(7, 19); System.out.println(builder.toString()); } }
Výstup:
9) Použití metody StringBuilder replace()
Jediný rozdíl mezi nahradit() funkce a vymazat() metoda je třetí parametr, který se používá k nahrazení znaků, které byly z řetězce odstraněny.
Java vylepšená smyčka
Pokud existuje velký řetězec, který je třeba vyměnit, velikost se zvětší, aby se přizpůsobila délce řetězce.
Syntax:
string.replace(int start, int end, char newChar)
Funkce toString() Funkci { [nativní kód] }() lze použít k vytištění aktualizovaného řetězce poté, co tato metoda vrátí a StringBuilder .
Příklad:
public class main{ public static void main(String[] args){ StringBuilder stringBuilder = new StringBuilder('Java is Code'); StringBuilder builder = stringBuilder.replace(8, 12, 'Programming language'); System.out.println(builder.toString()); } }
Výstup:
Závěr
V tomto článku jste se naučili, jak nahradit a odstranit znaky za účelem odstranění podřetězce z řetězce. Prezentované techniky zahrnují použití metod StringBuilder delete() a replace() a také funkce string replace(), replaceFirst() a replaceAll().