Java substring metodas nau­do­ja­mas išskirti dalinę eilutę iš didesnės eilutės. Yra du skirtingi būdai ją naudoti: at­ski­riant eilutę nuo indekso iki galo arba naudojant iš anksto nustatytą dalinės eilutės pradžios ir pabaigos indeksą.

Kas yra Java substring metodas ir kaip jis nau­do­ja­mas?

Java kalboje simboliai, skait­me­nys ir spe­cia­lie­ji simboliai gali būti sujungti į Java eilutę. Jei norite išgauti konkretų didesnės eilutės fragmentą, turite keletą galimybių. Metodu Java String.split() visa eilutė su­skai­do­ma į atskiras dalis, kad, pa­vyz­džiui, ga­lė­tu­mė­te aiškiau matyti eilutės struktūrą. Metodu substring() daroma dar vienas žingsnis ir grąžinama tik ta eilutės dalis, kurią api­brė­žia­te. Galite apibrėžti, kurią eilutės dalį norite išgauti, naudodami tik pradžios indeksą arba pradžios ir pabaigos indeksus. Šiame pa­mo­ky­muo­se pri­sta­ty­si­me Java metodą substring() įvai­rio­mis formomis.

Kaip naudoti Java substring() su beginIndex

Kaip minėta aukščiau, yra du būdai, kaip naudoti Java substring() metodą. Pirmasis apibrėžia tik pradinį tašką, nuo kurio norite išgauti dalinę eilutę. Jis suskaido eilutę nuo to indekso iki pas­ku­ti­nio eilutės simbolio. Jo sintaksė atrodo taip:

String substring(int beginIndex)
java

Norėdami naudoti substring(), pir­miau­sia įveskite eilutę, iš kurios norite išgauti dalinę eilutę. Tada naudokite sveiką skaičių, kad api­brėž­tu­mė­te, kur turėtų prasidėti dalinė eilutė. Rezultatą galite per­žiū­rė­ti naudodami Java komandą System.out.println. Šis metodas veikia įskaitant, tai reiškia, kad simbolis, esantis įvesto indekso po­zi­ci­jo­je, taip pat bus atskirtas. Jei beginIndex vertė yra mažesnė nei 0 arba didesnė nei tikrasis stygos ilgis, gausite klaidos pranešimą.

Pa­žvel­ki­me į paprastą pavyzdį, kad pa­ma­ty­tu­me, kaip tiksliai veikia substring() Java kalboje. Sukursime eilutę ir tada iš­skir­si­me jos dalį.

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

Kai paleisite kodą, gausite tokį rezultatą:

The substring is: This is another sentence.
java

Žinoma, tai taip pat puikiai veikia su skait­me­ni­mis:

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

Čia yra re­zul­ta­tas:

The last four digits are: 1142
java

Kaip naudoti substring() su beginIndex ir endIndex

Antrasis būdas naudoti Java substring() metodą leidžia geriau kont­ro­liuo­ti gautą dalinę eilutę. Galėsite nurodyti ne tik dalinės eilutės pradžios tašką, bet ir pabaigos tašką. Sintaksė atrodo taip:

String substring(int beginIndex, int endIndex)
java

beginIndex yra įtrau­kian­tis, o endIndex yra iš­skir­ti­nis. Dar kartą pa­žiū­rė­ki­me į paprastą pavyzdį:

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

Re­zul­ta­tas yra:

The substring is: an example
java

Taip pat galite lengvai išgauti dalinę eilutę iš vieno žodžio. Kitame pavyzdyje sukursime pirkinių sąrašą:

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

Naujas re­zul­ta­tas atrodys taip:

The substring is: one
java

Pas­ku­ti­nia­me pavyzdyje pa­ro­dy­si­me praktinį Java substring() metodo naudojimo atvejį. Įsi­vaiz­duo­ki­te, kad gavote klientų duomenis tam tikru formatu. Jei norite išskirti tik dalį tos in­for­ma­ci­jos, substring() yra puikus spren­di­mas. Pa­žvel­ki­me į kodą:

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

Čia yra re­zul­ta­tas:

Here is the customer’s email address: taylorj@example.com
java
Go to Main Menu