java substring method tutorial with examples
Tento výukový program se bude zabývat metodou podřetězce Java. Podíváme se na příklady Syntaxe, stručný úvod a podřetězec Java:
Budeme také pokrývat důležité příklady založené na scénářích a také často kladené otázky, které vám pomohou ještě lépe porozumět této metodě.
Po absolvování tohoto výukového programu Java budete v pozici, abyste si mohli vytvořit vlastní programy pro extrahování jakéhokoli podřetězce z hlavního řetězce a dále na něm provádět jakékoli operace.
=> Prohlédněte si příručku Java Beginners Guide zde.
Co se naučíte:
Podřetězec Java ()
Jak všichni víme, podřetězec Java není nic jiného než součást hlavního řetězce.
Například ,V řetězci „Testování softwaru“ jsou podřetězci „Software“ a „Testování“.
Tato metoda se používá k vrácení nebo extrakci podřetězce z hlavního řetězce. Nyní pro extrakci z hlavního řetězce musíme určit počáteční index a koncový index v metodě substring ().
Tato metoda má dvě různé formy. Syntaxe každé z těchto forem je uvedena níže.
Syntax:
String substring(int startingIndex); String substring(int startingIndex, int endingIndex);
V další části se podrobně podíváme na každou z těchto forem.
Počáteční index
V této části probereme první formu metody Java substring (). První formulář vrací podřetězec, který začíná na daném indexu a poté prochází celým řetězcem. Cokoli tedy v počátečním indexu zmíníte, vrátí celý řetězec z daného indexu.
Níže je uveden program, ve kterém jsme demonstrovali extrakci pomocí první formy metody substring (). Vzali jsme vstupní řetězec „Software Testing Help“ a poté jsme extrahovali dílčí řetězec z indexu 9.
Výstup tedy bude „Testování nápovědy“.
Poznámka: Index Java String vždy začíná nulou.
public class substring { public static void main(String() args) { String str = 'Software testing help'; /* * It will start from 9th index and extract * the substring till the last index */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(9)); } }
Výstup:
Počáteční a konečný index
V této části si povíme o druhé formě metody. Zde si vezmeme vstupní řetězec „Metoda řetězce Java String“ a pokusíme se extrahovat řetězec pomocí druhého formuláře, což je zadáním počátečních i koncových indexů.
public class substring { public static void main(String() args) { String str = 'Java String substring method'; /* * It will start from 12th index and extract * the substring till the 21st index */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(12,21)); } }
Výstup:
jak používat řazení v Javě
Příklady dílčích řetězců Java
Scénář 1: Jaký bude výstup metody podřetězce, když zadaný index není v hlavním řetězci?
Vysvětlení: V tomto scénáři použijeme vstupní řetězec „Java Programming“ a pokusíme se určit index jako 255 a 350 pro počáteční a koncový index.
Jak víme, pokud řetězec nemá číslo indexu 255, musí vyvolat chybu. Podle předdefinovaných pravidel Java pro výjimku by měla být výjimka „index mimo rozsah“. Je to proto, že index, který jsme zadali v metodě, je mimo rozsah pro daný řetězec.
public class substring { public static void main(String() args) { String str = 'Java Programming'; /* * It will throw an error after printing the original String. * The index we have specified is out of range for the * main String. Hence, it will throw 'String index of range' * exception */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(255,350)); } }
Výstup:
Scénář 2: Jaký bude výstup této metody, když poskytneme zápornou hodnotu indexu?
Vysvětlení: Zde si vezmeme vstupní řetězec „Java Subring Tutorials“ a pokusíme se poskytnout záporné počáteční a koncové indexy a zkontrolovat, jak program reaguje.
Protože index Java String začíná od nuly, neměl by přijímat záporná celá čísla v indexu. Program tedy musí vyvolat výjimku.
Typ chyby by měl být opět výjimkou „Řetězcový index mimo rozsah“, protože zadaný index není v hlavním řetězci.
public class substring { public static void main(String() args) { String str = 'Java substring Tutorials'; /* * It will throw an error after printing the original String. * The index we have specified is out of range for the * main String because the String index starts from zero. * It does not accept any negative index value. * Hence, it will throw 'String index of range' exception */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(-5,-10)); } }
Výstup:
Scénář 3: Jaký bude výstup dílčího řetězce, když zadáme (0,0) v počátečním a koncovém indexu?
Vysvětlení: Toto je další velmi dobrý scénář pro pochopení metody Java String substring (). Zde vezmeme vstupní řetězec „Saket Saurav“ a pokusíme se načíst dílčí řetězec počínaje nultým indexem a končící nulovým indexem.
Bude zajímavé sledovat, jak program reaguje.
Protože máme počáteční a koncový index stejný, měl by vrátit prázdné místo. Program se však v tomto scénáři úspěšně zkompiluje.
Vrátí prázdné pro všechny takové hodnoty, kde počáteční a koncový index jsou stejné. Ať už (0,0) nebo (1,1) nebo (2,2) atd.
public class substring { public static void main(String() args) { String str = 'Saket Saurav'; /* * The output will be blank because of the starting and ending * indexes can not be the same. In such scenarios, the * program will return a blank value. The same is applicable * when you are giving the input index as (0,0) or (1,1) or (2,2). * and so on. */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(0,0)); } }
Výstup:
Často kladené otázky
Otázka č. 1) Jak v Javě rozdělit řetězec na podřetězce? Jak znovu vytvořit stejný řetězec z dílčích řetězců?
Odpovědět: Níže je program, kde jsme vzali vstupní řetězec a rozdělili řetězec na podřetězce zadáním počátečních a koncových indexů.
Opět jsme vytvořili stejný řetězec pomocí podřetězců pomocí operátoru concat String.
public class substring { public static void main(String() args) { String str = 'Saket Saurav'; // created two substrings substr1 and substr2 String substr1 = str.substring(0,6); String substr2 = str.substring(6,12); //Printed main String as initialized System.out.println(str); //Printed substr1 System.out.println(substr1); //Printed substr2 System.out.println(substr2); //Printed main String from two substrings System.out.println(substr1 +substr2 ); } }
Výstup:
Otázka č. 2) Jak zjistit, zda je řetězec v Javě podřetězec jiného?
Odpovědět: Níže je program, kde jsme vzali vstupní řetězec „Příklad podřetězce“. Poté jsme načetli dílčí řetězec a uložili jej do proměnné řetězce „substr“. Poté jsme pomocí metody Java contains () zkontrolovali, zda je řetězec součástí hlavního řetězce nebo ne.
public class substring { public static void main(String() args) { String str = 'Example of the substring'; // created a substring substr String substr = str.substring(8,10); //Printed substring System.out.println(substr); /* * used .contains() method to check the substring (substr) is a * part of the main String (str) or not */ if(str.contains(substr)) { System.out.println('String is a part of the main String'); } else { System.out.println('String is not a part of the main String'); } } }
Výstup:
Otázka č. 3) Jaký je návratový typ metody substring () v Javě?
Odpovědět: Jak víme, třída String je Immutable a metoda substring () je vestavěná metoda třídy String. Pokaždé, když provádíte operaci na řetězci, je následující řetězec novým řetězcem, který se vrací.
Totéž se děje také s touto metodou. Pokaždé, když zavoláme metodu substring (), je výsledný řetězec nový řetězec. Proto je návratovým typem této metody v Javě String.
Otázka č. 4) Je řetězec v Javě bezpečný?
Odpovědět: Ano. Stejně jako StringBuffer je String také bezpečný pro vlákna v Javě. To znamená, že řetězec může být použit pouze jedním vláknem v daném okamžiku a neumožňuje dvě vlákna používat řetězec současně.
Otázka č. 5) Jaký je rozdíl mezi dvěma různými přístupy k inicializaci řetězce?
Řetězec str1 = „ABC“;
Řetězec str2 = nový řetězec („ABC“);
Odpovědět: Oba řádky kódů vám poskytnou objekt String. Nyní můžeme vyjmenovat rozdíly.
První řádek kódu vrátí existující objekt z fondu String, zatímco druhý řádek kódu, kde je String vytvořen pomocí operátoru „new“, vždy vrátí nový objekt, který je vytvořen v paměti haldy.
Přestože je hodnota „ABC“ v obou řádcích „stejná“, není to „==“.
Nyní si vezmeme následující program.
Zde jsme inicializovali tři řetězcové proměnné. První srovnání se provádí na základě referenčního srovnání „==“ pro str1 a str2, které vrací true. Je to proto, že použili stejný existující objekt z fondu String.
Druhé srovnání bylo provedeno na str1 a str3 pomocí „==“, kde se referenční srovnání liší, protože objekt String byl jako součást str3, který je nově vytvořen pomocí „nového“ operátoru. Proto se to ukázalo jako nepravdivé.
Třetí srovnání bylo provedeno pomocí metody „.equals ()“, která porovnávala hodnoty obsažené str1 a str3. Hodnota obou řetězcových proměnných je stejná, tj. Jsou si rovny. Proto se to vrátilo pravdivé.
public class substring { public static void main(String() args) { String str1 = 'ABC'; String str2 = 'ABC'; /* * True because '==' works on the reference comparison and * str1 and str2 have used the same existing object from * the String pool */ System.out.println(str1 == str2); String str3 = new String ('ABC'); /* * False because str1 and str3 have not the same reference * type */ System.out.println(str1==str3); /* * True because '.equals' works on comparing the value contained * by the str1 and str3. */ System.out.println(str1.equals(str3)); } }
Výstup:
Závěr
V tomto kurzu jsme diskutovali o různých formách metody substring (). Také jsme zahrnuli několik otázek založených na scénářích spolu s často kladenými otázkami, které vám pomohly při podrobném pochopení metody.
Další čtení = >> Funkce podřetězce MySQL
Sem byla zahrnuta syntaxe, příklady programování a podrobná analýza pro každý scénář a koncept. To vám jistě pomůže při vývoji vlastních programů metody substring () a provádění různých operací manipulace s řetězci na každém následujícím řetězci.
kde mohu sledovat anime online
=> Přečtěte si řadu Easy Java Training Series.
Doporučené čtení
- Výukový program Java String | Metody řetězců Java s příklady
- Reverzní řetězec Java: Výukový program s příklady programování
- Metoda Java String Split () - Jak rozdělit řetězec v Javě
- Metoda Java String compareTo s příklady programování
- Java String obsahuje () Výukový program metod s příklady
- Metoda Java String length () S příklady
- Výukový program Java String Array - příklady kódu
- Výukový program JAVA pro začátečníky: 100+ praktických výukových programů Java Video