java substring method tutorial with examples
Aquest tutorial tractarà el mètode de subcadena Java. Veurem la sintaxi, la breu introducció i els exemples de subcadena Java:
També tractarem els importants exemples basats en escenaris, així com les preguntes més freqüents que us ajudaran a entendre encara millor aquest mètode.
En passar per aquest tutorial de Java, podreu crear els vostres propis programes per extreure qualsevol subcadena de la cadena principal i, a més, realitzar-hi qualsevol operació.
=> Feu una ullada a la guia per a principiants de Java aquí.
Què aprendreu:
Subcadena Java ()
Com tots sabem, la subcadena Java no és més que una part de la cadena principal.
Per exemple ,En una cadena 'Prova de programari', el 'Programari' i la 'Prova' són les subcadenes.
Aquest mètode s’utilitza per retornar o extreure la subcadena de la cadena principal. Ara, per a l'extracció de la cadena principal, hem d'especificar l'índex inicial i l'índex final al mètode substring ().
Aquest mètode té dues formes diferents. A continuació es mostra la sintaxi de cadascuna d’aquestes formes.
Sintaxi:
String substring(int startingIndex); String substring(int startingIndex, int endingIndex);
A la següent secció, analitzarem detingudament cadascuna d’aquestes formes.
Índex inicial
En aquesta secció, parlarem de la primera forma del mètode Java substring (). El primer formulari retorna la subcadena que comença a l’índex donat i després s’executa per tota la cadena. Per tant, tot el que mencioneu a l’índex inicial, retornarà tota la cadena d’aquest índex en particular.
A continuació es mostra el programa en què hem demostrat l'extracció mitjançant el mètode de la primera forma de substring (). Hem agafat una cadena d’entrada “Ajuda de proves de programari” i, a continuació, hem extret la subcadena de l’índex 9.
Per tant, la sortida serà 'Ajuda de proves'.
Nota: L’índex de cadena Java sempre comença amb zero.
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)); } }
Sortida:
Índex inicial i final
En aquesta secció, parlarem de la segona forma del mètode. Aquí agafarem una cadena d'entrada 'Mètode de subcadena de cadena de Java' i intentarem extreure la subcadena utilitzant la segona forma que és especificant tant els índexs inicials com finals.
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)); } }
Sortida:
Preguntes i respostes de l'entrevista PHP per a una experiència de 2 anys
Exemples de subcadena Java
Escenari 1: Quina serà la sortida del mètode de subcadena quan l'índex especificat no estigui present a la cadena principal?
Explicació: En aquest escenari, agafarem una cadena d’entrada “Programació Java” i intentarem especificar l’índex com a 255 i 350 per als índexs inicials i finals respectivament.
Com sabem, si la cadena no té un número d’índex 255, ha de generar un error. Segons les regles predefinides de Java per a l'excepció, hauria de llançar l'excepció 'índex fora del rang'. Això es deu al fet que l'índex que hem especificat en el mètode està fora del rang de la cadena donada.
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)); } }
Sortida:
Escenari 2: Quina serà la sortida d’aquest mètode quan proporcionem un valor d’índex negatiu?
Explicació: Aquí, agafarem una cadena d’entrada “Tutorials de subcadena Java” i intentarem proporcionar índexs inicials i finals negatius i comprovarem com respon el programa.
Com que l'índex Java String comença des de zero, no hauria d'acceptar enters negatius a l'índex. Per tant, el programa ha de generar una excepció.
El tipus d'error hauria de ser l'excepció 'Índex de cadena fora del rang' perquè l'índex especificat no està present a la cadena principal.
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)); } }
Sortida:
Escenari 3: Quina serà la sortida de la subcadena quan proporcionem (0,0) als índexs inicial i final?
Explicació: Aquest és un altre escenari molt bo per entendre el mètode Java de cadena de substrings (). Aquí agafarem una cadena d’entrada “Saket Saurav” i intentarem obtenir la subcadena començant per l’índex zero i acabant per l’índex zero.
Serà interessant veure com respon el programa.
Com que tenim els índexs inicial i final iguals, hauria de tornar un blanc. No obstant això, el programa es compila amb èxit en aquest escenari.
Tornarà en blanc per a tots aquests valors en què els índexs inicial i final són els mateixos. Ja sigui (0,0) o (1,1) o (2,2), etc.
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)); } }
Sortida:
Preguntes freqüents
Q # 1) Com es divideix una cadena en subcadenes a Java? Com es pot tornar a crear la mateixa cadena a partir de les subcadenes?
Resposta: A continuació es mostra el programa on hem pres una cadena d’entrada i hem dividit la cadena en subcadenes especificant els índexs inicial i final.
De nou hem creat la mateixa cadena mitjançant l'ús de les subcadenes amb l'ajut de l'operador concat de cadena.
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 ); } }
Sortida:
Q # 2) Com es pot trobar si una cadena és una subcadena d'una altra a Java?
Resposta: A continuació es mostra el programa on hem pres una cadena d’entrada “Exemple de la subcadena”. A continuació, hem obtingut una subcadena i l'hem emmagatzemat en una variable de cadena 'substr'. Posteriorment, hem utilitzat el mètode Java contains () per comprovar si la cadena forma part de la cadena principal o no.
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'); } } }
Sortida:
Q # 3) Quin és el tipus de retorn del mètode substring () a Java?
Resposta: Com sabem, la classe String és immutable i el mètode substring () és un mètode incorporat de la classe String. Cada vegada que realitzeu una operació a la cadena, la cadena següent és una cadena nova que es retorna.
implementació de l'arbre binari c ++
El mateix passa amb aquest mètode. Cada vegada que anomenem el mètode substring (), la cadena resultant és una cadena nova. Per tant, el tipus de retorn d’aquest mètode a Java és una cadena.
Q # 4) Les cadenes són segures per a fils a Java?
Resposta: Sí. Igual que StringBuffer, la cadena també és segura per a fils a Java. Això significa que la cadena només pot ser utilitzada per un únic fil en un moment determinat i no permet dos fils utilitzant una cadena simultàniament.
Q # 5) Quina diferència hi ha entre dos enfocaments diferents per inicialitzar una cadena?
String str1 = 'ABC';
String str2 = nova cadena ('ABC');
Resposta: Les dues línies de codis us proporcionaran l'objecte String. Ara podem esmentar les diferències.
La primera línia de codi retornarà un objecte existent de l'agrupació de cadenes, mentre que la segona línia de codi on es crea la cadena amb l'ajut d'un 'nou' operador, sempre retornarà un objecte nou que es crea a la memòria dinàmica.
Tot i que el valor 'ABC' és 'igual' a les dues línies, no és '=='.
Ara prenem el programa següent.
Aquí hem inicialitzat tres variables de cadena. La primera comparació es fa sobre la base de la comparació de referència “==” per a str1 i str2 que retorna true. Això es deu al fet que han utilitzat el mateix objecte existent de l'agrupació de cadenes.
La segona comparació es va fer a str1 i str3 utilitzant '==' on la comparació de referència difereix perquè l'objecte String formava part de str3 que es crea recentment amb l'ajut d'un 'nou' operador. Per tant, va tornar fals.
La tercera comparació es va fer amb l'ajut del mètode '.equals ()' que va comparar els valors continguts per str1 i str3. El valor de les dues variables de cadena és el mateix, és a dir, són iguals. Per tant, es va tornar cert.
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)); } }
Sortida:
Conclusió
En aquest tutorial, hem debatut sobre les diferents formes del mètode substring (). A més, hem inclòs diverses preguntes basades en escenaris juntament amb les preguntes més freqüents que us han ajudat a entendre el mètode en detall.
Més lectura = >> Funció de cadena MySQL
Aquí es van incloure sintaxi, exemples de programació i anàlisi detallada de cada escenari i concepte. Sens dubte, això us ajudarà a desenvolupar els vostres propis programes de mètode substring () i a realitzar diferents operacions de manipulació de cadenes a cada cadena següent.
=> Llegiu la sèrie de formació Java fàcil.
Lectura recomanada
- Tutorial de cadenes de Java | Mètodes de cadena Java amb exemples
- Java Reverse String: Tutorial amb exemples de programació
- Mètode Java String Split (): com es pot dividir una cadena a Java
- Mètode Java String compareTo amb exemples de programació
- Java String conté () Tutorial de mètode amb exemples
- Java String length () Mètode amb exemples
- Matriu de cadenes de Java: tutorial amb exemples de codi
- Tutorial JAVA per a principiants: més de 100 tutorials pràctics de vídeo Java