java substring method tutorial with examples
Tento výukový program sa bude zaoberať metódou podreťazca Java. Pozrime sa na príklady syntaxe, krátkeho úvodu a podreťazca Java:
Ďalej sa budeme venovať dôležitým príkladom založeným na scenároch, ako aj často kladeným otázkam, ktoré vám pomôžu ešte lepšie porozumieť tejto metóde.
Po absolvovaní tohto výukového programu Java budete v pozícii vytvoriť si vlastné programy na extrahovanie ľubovoľného podreťazca z hlavného reťazca a ďalej s ním vykonávať akékoľvek operácie.
=> Tu si pozrite príručku Java Beginners Guide.
Čo sa dozviete:
Podreťazec Java ()
Ako všetci vieme, podreťazec Java nie je nič iné ako súčasť hlavného reťazca.
Napríklad ,V reťazci „Testovanie softvéru“ sú reťazce „Softvér“ a „Testovanie“.
Táto metóda sa používa na vrátenie alebo extrakciu podreťazca z hlavného reťazca. Teraz pre extrakciu z hlavného reťazca musíme určiť počiatočný index a konečný index v metóde substring ().
Táto metóda má dve rôzne formy. Syntax každej z týchto foriem je uvedená nižšie.
Syntax:
String substring(int startingIndex); String substring(int startingIndex, int endingIndex);
V nasledujúcej časti sa podrobne pozrieme na každú z týchto foriem.
Počiatočný index
V tejto časti si rozoberieme prvú formu metódy Java substring (). Prvý formulár vráti podreťazec, ktorý začína na danom indexe a potom prechádza celým reťazcom. Nech teda v počiatočnom indexe spomeniete čokoľvek, vráti celý reťazec z daného indexu.
Ďalej je uvedený program, v ktorom sme demonštrovali extrakciu pomocou prvej formy metódy substring (). Vzali sme vstupný reťazec „Pomocník pre testovanie softvéru“ a potom sme extrahovali podreťazec z indexu 9.
Výstupom bude teda „Pomoc pri testovaní“.
Poznámka: Index Java String sa vždy začína 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ýkon:
Počiatočný a konečný index
V tejto časti si povieme o druhej forme metódy. Tu si vezmeme vstupný reťazec „Java String substring method“ a pokúsime sa extrahovať podreťazec pomocou druhého formulára, ktorým je určenie počiatočných aj koncových indexov.
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ýkon:
otázky týkajúce sa kódovania rozhovoru v c ++
Príklady podreťazcov Java
Scenár 1: Aký bude výstup metódy podreťazca, keď sa zadaný index nenachádza v hlavnom reťazci?
Vysvetlenie: V tomto scenári vezmeme vstupný reťazec „Java Programming“ a pokúsime sa určiť index ako 255 a 350 pre počiatočný a koncový index.
Ako vieme, ak reťazec nemá indexové číslo 255, musí spôsobiť chybu. Podľa preddefinovaných pravidiel Java pre výnimku by mala vyhodiť výnimku „index mimo rozsah“. Je to preto, že index, ktorý sme určili v metóde, je pre daný reťazec mimo rozsahu.
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ýkon:
Scenár 2: Aký bude výstup z tejto metódy, keď poskytneme zápornú hodnotu indexu?
Vysvetlenie: Tu si vezmeme vstupný reťazec „Java Subring Tutorials“ a pokúsime sa poskytnúť negatívne počiatočné a koncové indexy a skontrolovať, ako program reaguje.
Pretože index Java String začína od nuly, nemal by akceptovať záporné celé čísla v indexe. Program teda musí vyvolať výnimku.
Typom chyby by mala byť opäť výnimka „String index out of range“, pretože zadaný index sa v hlavnom reťazci nenachádza.
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ýkon:
Scenár 3: Aký bude výstup podreťazca, keď poskytneme (0,0) v počiatočnom a konečnom indexe?
Vysvetlenie: Toto je ďalší veľmi dobrý scenár na pochopenie metódy Java String substring (). Tu vezmeme vstupný reťazec „Saket Saurav“ a pokúsime sa načítať podreťazec začínajúci od nulového indexu a končiaci nulovým indexom.
Bude zaujímavé sledovať, ako program zareaguje.
Pretože máme začiatočný aj koncový index rovnaký, mal by vrátiť prázdne miesto. Program sa však v tomto scenári úspešne kompiluje.
Vráti sa prázdne pre všetky také hodnoty, kde počiatočný a koncový index sú rovnaké. Buď (0,0) alebo (1,1) alebo (2,2) atď.
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ýkon:
často kladené otázky
Otázka 1) Ako rozdeliť reťazec na podreťazce v Jave? Ako znova vytvoriť ten istý reťazec z podreťazcov?
Odpoveď: Ďalej uvádzame program, do ktorého sme prevzali vstupný reťazec a tento reťazec rozdelili na podreťazce určením počiatočných a koncových indexov.
Opäť sme vytvorili ten istý String pomocou podreťazcov pomocou operátora String concat.
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ýkon:
Otázka č. 2) Ako zistiť, či je String podreťazcom iného v Jave?
Odpoveď: Ďalej je uvedený program, do ktorého sme vložili reťazec „Príklad podreťazca“. Potom sme načítali podreťazec a uložili sme ho do premennej reťazca „substr“. Potom sme pomocou metódy Java contains () skontrolovali, či je reťazec súčasťou hlavného reťazca alebo nie.
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ýkon:
Otázka č. 3) Aký je návratový typ metódy substring () v Jave?
Odpoveď: Ako vieme, trieda String je Immutable a metóda substring () je vstavanou metódou triedy String. Zakaždým, keď vykonáte operáciu na reťazci, následný reťazec je nový reťazec, ktorý sa vráti.
To isté sa deje aj pri tejto metóde. Zakaždým, keď zavoláme metódu substring (), výsledný reťazec je nový reťazec. Preto je návratovým typom tejto metódy v Jave String.
Otázka č. 4) Je reťazec bezpečný pre vlákna v Jave?
Odpoveď: Áno. Rovnako ako StringBuffer, aj String je bezpečný pre vlákna v Jave. To znamená, že reťazec môže byť v danom okamihu použitý iba jedným vláknom a neumožňuje dva vlákna, ktoré reťazec používajú súčasne.
Otázka č. 5) Aký je rozdiel medzi dvoma rôznymi prístupmi k inicializácii reťazca?
Reťazec str1 = „ABC“;
Reťazec str2 = nový Reťazec („ABC“);
Odpoveď: Oba riadky kódov vám poskytnú objekt String. Teraz môžeme uviesť rozdiely.
Prvý riadok kódu vráti existujúci objekt z fondu String, zatiaľ čo druhý riadok kódu, kde je String vytvorený pomocou „nového“ operátora, vždy vráti nový objekt, ktorý je vytvorený v halde pamäte.
je tam vr pre xbox jeden
Aj keď je hodnota „ABC“ v obidvoch riadkoch „rovnaká“, nie je to „==“.
Teraz si vezmime nasledujúci program.
Tu sme inicializovali tri reťazcové premenné. Prvé porovnanie sa vykoná na základe porovnávacieho porovnania „==“ pre str1 a str2, ktoré vráti hodnotu true. Je to tak preto, lebo použili rovnaký existujúci objekt z fondu String.
Druhé porovnanie sa uskutočnilo na str1 a str3 pomocou „==“, kde sa referenčné porovnanie líši, pretože objekt String bol ako súčasť str3, ktorá sa vytvára novo pomocou „nového“ operátora. Preto sa to ukázalo ako nepravdivé.
Tretie porovnanie sa uskutočnilo pomocou metódy „.equals ()“, ktorá porovnávala hodnoty obsiahnuté v str1 a str3. Hodnota oboch reťazcových premenných je rovnaká, t. J. Sú si rovné. Preto sa to vrátilo do pravdy.
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ýkon:
Záver
V tomto tutoriáli sme diskutovali o rôznych formách metódy substring (). Zahrnuli sme tiež niekoľko otázok založených na scenároch spolu s často kladenými otázkami, ktoré vám pomohli pri podrobnom pochopení metódy.
Ďalšie čítanie = >> Funkcia podreťazca MySQL
Sem bola zahrnutá syntax, príklady programovania a podrobná analýza každého scenára a koncepcie. To vám určite pomôže pri vývoji vlastných programov metódy substring () a pri vykonávaní rôznych operácií manipulácie s reťazcami na každom nasledujúcom reťazci.
=> Prečítajte si sériu Easy Java Training Series.
Odporúčané čítanie
- Výukový program pre Java String Metódy reťazca Java s príkladmi
- Reverzný reťazec Java: Výukový program s príkladmi programovania
- Metóda Java String Split () - Ako rozdeliť reťazec v Jave
- Metóda Java String compareTo s príkladmi programovania
- Java String obsahuje () Výukový program metód s príkladmi
- Metóda Java String length () s príkladmi
- Výukový program Java String Array s príkladmi kódu
- Výukový program JAVA pre začiatočníkov: viac ako 100 praktických výučbových programov Java Video