Metóda substring v jazyku Java sa používa na extrakciu podreťazca z väčšieho reťazca. Existujú dva rôzne spôsoby jej použitia: buď oddelením reťazca od indexu až po koniec, alebo s vopred definovaným začiatkom a koncom indexu pre podreťazec.

Čo je metóda Java substring a ako sa používa?

V jazyku Java je možné kombinovať znaky, číslice a špeciálne znaky do reťazca Java. Ak chcete z väčšieho reťazca extrahovať konkrétnu podmnožinu, máte na výber niekoľko možností. Metóda Java String.split() rozdelí celý reťazec na jednotlivé časti, aby ste napríklad získali jasnejší prehľad o reťazci. Metóda substring() ide ešte o krok ďalej a vráti len tú časť reťazca, ktorú definujete. Časť reťazca, ktorú chcete extrahovať, môžete definovať pomocou počiatočného indexu alebo pomocou počiatočného a koncového indexu. V tomto tutoriáli predstavíme metódu Java substring() v jej rôznych formách.

Ako používať Java substring() s beginIndex

Ako už bolo spomenuté, existujú dva spôsoby použitia metódy Java substring(). Prvý definuje iba počiatočný bod podreťazca, ktorý chcete extrahovať. Rozdelí reťazec od tohto indexu až po posledný znak reťazca. Jeho syntax vyzerá nasledovne:

String substring(int beginIndex)
java

Ak chcete použiť substring(), najskôr zadajte reťazec, z ktorého chcete extrahovať podreťazec. Potom pomocou celého čísla definujte, kde má podreťazec začínať. Výstup si môžete zobraziť pomocou príkazu Java System.out.println. Metóda funguje inkluzívne, čo znamená, že znak, ktorý sa nachádza na pozícii indexu, ktorý zadáte, bude tiež oddelený. Ak je hodnota beginIndex menšia ako 0 alebo väčšia ako skutočná dĺžka reťazca, zobrazí sa chybová správa.

Pozrime sa na jednoduchý príklad, aby sme zistili, ako presne funguje substring() v Jave. Vytvoríme reťazec a potom z neho extrahujeme podreťazec.

public class Main {
	public static void main(String args[]) {
	String Str = new String("This is an example. This is another sentence.");
	System.out.print("The substring is: ");
	System.out.println(Str.substring(20));
	}
}
java

Po spustení kódu dostanete nasledujúci výstup:

The substring is: This is another sentence.
java

Samozrejme, to funguje rovnako dobre aj s číslicami:

public class Main {
	public static void main(String args[]) {
	String Str = new String("192.448.782.1142");
	System.out.print("The last four digits are: ");
	System.out.println(Str.substring(12));
	}
}
java

Tu je výstup:

The last four digits are: 1142
java

Ako používať substring() s beginIndex a endIndex

Druhý spôsob použitia metódy Java substring() umožňuje väčšiu kontrolu nad výsledným podreťazcom. Určíte nielen počiatočný bod podreťazca, ale aj koncový bod. Syntax vyzerá takto:

String substring(int beginIndex, int endIndex)
java

Číslo beginIndex je inkluzívne a číslo endIndex je exkluzívne. Pozrime sa ešte raz na jednoduchý príklad:

public class Main {
	public static void main(String args[]) {
	String Str = new String("This is an example. This is another sentence.");
	System.out.print("The substring is: ");
	System.out.println(Str.substring(8, 18));
	}
}
java

Výstup je:

The substring is: an example
java

Môžete tiež ľahko extrahovať podreťazec z jedného slova. V nasledujúcom príklade vytvoríme nákupný zoznam:

public class Main {
	public static void main(String args[]) {
	String Str = new String("Eggs, Honey, Milk, Bread");
	System.out.print("The substring is: ");
	System.out.println(Str.substring(7, 10));
	}
}
java

Nový výstup bude vyzerať takto:

The substring is: one
java

V našom poslednom príklade ukážeme praktické použitie metódy Java substring(). Predstavte si, že ste dostali údaje o zákazníkoch v určitom formáte. Ak chcete izolovať len časť týchto informácií, substring() je ideálna. Pozrime sa na kód:

public class Main {
	public static void main(String args[]) {
	String Str = new String("247: Taylor, Javal|taylorj@example.com|London|12.04.1972");
	System.out.print("Here is the customer’s email address: ");
	System.out.println(Str.substring(19, 38));
	}
}
java

Tu je výstup:

Here is the customer’s email address: taylorj@example.com
java
Prejsť na hlavné menu