java substring method tutorial with examples
Denne vejledning dækker Java-substreringsmetoden. Vi tager et kig på eksempler på syntaks, kort introduktion og Java-substring:
Vi vil også dække de vigtige scenariebaserede eksempler samt ofte stillede spørgsmål, der hjælper dig med at forstå denne metode endnu bedre.
Når du gennemgår denne Java-tutorial, vil du være i stand til at oprette dine egne programmer til at udtrække enhver understreng fra hovedstrengen og udføre yderligere handlinger på den.
=> Se på Java Beginners Guide her.
Hvad du lærer:
Java-substring ()
Som vi alle ved, er Java-substring intet andet end en del af hovedstrengen.
For eksempel ,I en streng 'Software Testing' er 'Software' og 'Testing' underlagene.
Denne metode bruges til at returnere eller udtrække substratet fra hovedstrengen. For ekstraktion fra hovedstrengen skal vi nu angive startindekset og slutningsindekset i substring () -metoden.
Denne metode har to forskellige former. Syntaksen for hver af disse former er angivet nedenfor.
Syntaks:
String substring(int startingIndex); String substring(int startingIndex, int endingIndex);
I det næste afsnit vil vi se nærmere på hver af disse former.
Startindeks
I dette afsnit vil vi diskutere den første form for Java-substring () -metoden. Den første form returnerer den understreng, der starter ved det givne indeks og derefter løber gennem hele strengen. Så uanset hvad du nævner i startindekset, returnerer det hele strengen fra det pågældende indeks.
Nedenfor er det program, hvor vi har demonstreret ekstraktionen ved hjælp af den første form for substring () metode. Vi har taget en inputstreng “Software Testing Help” og derefter ekstraheret substringen fra indeks 9.
Således bliver output “Testing Help”.
Bemærk: Java String index starter altid med nul.
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)); } }
Produktion:
Start- og slutningsindeks
I dette afsnit vil vi tale om den anden form for metoden. Her skal vi tage en inputstreng “Java String substring method”, og vi vil forsøge at udtrække substringen ved hjælp af den anden form, som er ved at specificere både start- og slutindekserne.
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)); } }
Produktion:
uafhængige upartiske anmeldelser af gratis 64-bit firewall
Eksempler på Java-substring
Scenarie 1: Hvad bliver output af substringmetoden, når det angivne indeks ikke er til stede i hovedstrengen?
Forklaring: I dette scenarie vil vi tage en inputstreng 'Java-programmering', og vi vil forsøge at specificere indekset som henholdsvis 255 og 350 for start- og slutindekserne.
Som vi ved, hvis strengen ikke har et 255-indeksnummer, skal den kaste en fejl. Ved de Java-foruddefinerede regler for undtagelsen skal den kaste undtagelsen 'indeks uden for rækkevidde'. Dette skyldes, at det indeks, vi har specificeret i metoden, er uden for området for den givne streng.
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)); } }
Produktion:
Scenarie 2: Hvad bliver resultatet af denne metode, når vi angiver en negativ indeksværdi?
Forklaring: Her skal vi tage en inputstreng “Java substring Tutorials”, og vi vil forsøge at give negative start- og slutindekser og kontrollere, hvordan programmet reagerer.
Da Java String-indekset starter fra nul, bør det ikke acceptere negative heltal i indekset. Så programmet skal kaste en undtagelse.
Fejltypen skal igen være undtagelsen 'Strengindeks uden for rækkevidde', fordi det angivne indeks ikke er til stede i hovedstrengen.
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)); } }
Produktion:
Scenarie 3: Hvad bliver substringens output, når vi angiver (0,0) i start- og slutindekserne?
Forklaring: Dette er endnu et meget godt scenario for at forstå String substring () Java-metoden. Her vil vi tage en inputstreng 'Saket Saurav' og forsøge at hente substring startende fra nul-indekset og slutter på nul-indekset.
Det bliver interessant at se, hvordan programmet reagerer.
Da vi har start- og slutindekserne som de samme, skal det returnere et tomt. Programmet kompileres dog med succes i dette scenarie.
Det returnerer tomt for alle sådanne værdier, hvor start- og slutindekserne er de samme. Det være sig (0,0) eller (1,1) eller (2,2) og så videre.
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)); } }
Produktion:
Ofte stillede spørgsmål
Q # 1) Hvordan opdeler man en streng i understrenge i Java? Hvordan oprettes den samme streng igen fra understrengene?
Svar: Nedenfor er programmet, hvor vi har taget en inputstreng og delt strengen i understrenge ved at angive start- og slutindekserne.
Igen har vi oprettet den samme streng ved at bruge understrengene ved hjælp af String concat operator.
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 ); } }
Produktion:
Q # 2) Hvordan finder jeg ud af, om en streng er en substring af en anden i Java?
Svar: Nedenfor er programmet, hvor vi har taget en inputstreng 'Eksempel på understreng'. Derefter har vi hentet en substring og gemt i en strengvariabel 'substr'. Derefter har vi brugt metoden Java indeholder () til at kontrollere, om strengen er en del af hovedstrengen eller ej.
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'); } } }
Produktion:
Q # 3) Hvad er returtypen af substring () -metoden i Java?
hvilket af følgende er en fase i sdlc?
Svar: Som vi ved, er strengklassen uforanderlig, og substring () -metoden er en indbygget metode i strengklassen. Hver gang du udfører en operation på strengen, er den efterfølgende streng en ny streng, der returneres.
Den samme ting sker også med denne metode. Hver gang vi kalder metoden substring (), er den resulterende streng en ny streng. Derfor er returtypen for denne metode i Java en streng.
Q # 4) Er streng-trådsikker i Java?
Svar: Ja. Ligesom StringBuffer er strengen også trådsikker i Java. Dette betyder, at strengen kun kan bruges af en enkelt tråd på et givet tidspunkt, og det tillader ikke to tråde, der bruger en streng samtidigt.
Q # 5) Hvad er forskellen mellem to forskellige tilgange til initialisering af en streng?
Streng str1 = “ABC”;
Streng str2 = ny streng (“ABC”);
Svar: Begge kodelinjer giver dig String-objektet. Nu kan vi angive forskellene.
Den første kodelinje returnerer et eksisterende objekt fra strengpoolen, mens den anden kodelinje, hvor strengen oprettes ved hjælp af en 'ny' operator, altid returnerer et nyt objekt, der oprettes i bunkehukommelsen.
Selvom værdien 'ABC' er 'lige' i begge linjer, er den ikke '=='.
Lad os nu tage følgende program.
Her har vi initialiseret tre strengvariabler. Den første sammenligning udføres på basis af “==” referencesammenligning for str1 og str2, der returnerer true. Dette skyldes, at de har brugt det samme eksisterende objekt fra strengpoolen.
Den anden sammenligning blev udført på str1 og str3 ved hjælp af '==', hvor referencesammenligningen adskiller sig, fordi strengobjektet var som en del af str3, der oprettes for nylig ved hjælp af en 'ny' operator. Derfor vendte den tilbage falsk.
Den tredje sammenligning blev foretaget ved hjælp af metoden “.equals ()”, der sammenlignede værdierne indeholdt i str1 og str3. Værdien af begge strengvariabler er den samme, dvs. de er lig. Derfor vendte det tilbage.
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)); } }
Produktion:
Konklusion
I denne vejledning har vi diskuteret de forskellige former for substring () -metoden. Vi har også inkluderet flere scenariebaserede spørgsmål sammen med de ofte stillede spørgsmål, der hjalp dig med at forstå metoden i detaljer.
Yderligere læsning = >> MySQL-understringsfunktion
Syntaks, programmeringseksempler og detaljeret analyse for hvert scenarie og koncept blev inkluderet her. Dette vil helt sikkert hjælpe dig med at udvikle dine egne programmer for substring () -metoden og udføre forskellige strengmanipulationsoperationer på hver efterfølgende streng.
=> Læs gennem Easy Java Training Series.
Anbefalet læsning
- Java String Tutorial | Java strengmetoder med eksempler
- Java Reverse String: Tutorial med programmeringseksempler
- Java String Split () Metode - Sådan opdeles en streng i Java
- Java-streng sammenlignet med metode med programmeringseksempler
- Java String indeholder () Metodevejledning med eksempler
- Java strenglængde () Metode med eksempler
- Java String Array- Vejledning med kodeeksempler
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger