Javas substring-metode bruges til at udtrække en substring fra en større streng. Der er to for­skel­li­ge måder at bruge den på: enten ved at adskille strengen fra et indeks til slut­nin­gen eller med et for­ud­de­fi­ne­ret start- og slu­tin­deks for sub­strin­gen.

Hvad er Java-substring-metoden, og hvordan bruges den?

I Java kan tegn, cifre og spe­ci­al­tegn kom­bi­ne­res i en Java-streng. Hvis du vil udtrække en bestemt delmængde fra den større streng, har du flere mu­lig­he­der. Metoden Java String.split() opdeler en hel streng i dens enkelte dele for ek­sem­pel­vis at give dig et klarere overblik over strengen. Metoden substring() går et skridt videre og re­tur­ne­rer kun den del af strengen, som du definerer. Du kan definere, hvilken del af strengen du vil udtrække, ved ude­luk­ken­de at bruge et star­tin­deks eller både et start- og slu­tin­deks. I denne tutorial in­tro­du­ce­rer vi Java’s substring() metode i dens for­skel­li­ge former.

Sådan bruges Java substring() med beginIndex

Som nævnt ovenfor er der to måder at bruge Java’s substring() på. Den første definerer kun start­punk­tet for den delstreng, du vil udtrække. Den opdeler strengen fra det indeks til det sidste tegn i strengen. Dens syntaks ser således ud:

String substring(int beginIndex)
java

For at bruge substring() skal du først indtaste den streng, som du vil udtrække del­stren­gen fra. Derefter bruger du et heltal til at definere, hvor del­stren­gen skal begynde. Du kan se re­sul­ta­tet med Java-kom­man­do­en System.out.println. Metoden fungerer inklusivt, hvilket betyder, at det tegn, der befinder sig i den position, du indtaster, også vil blive adskilt. Hvis værdien af beginIndex er mindre end 0 eller større end den faktiske længde af strengen, får du en fejl­med­del­el­se.

Lad os se på et simpelt eksempel for at se, hvordan substring() fungerer i Java. Vi opretter en streng og udtrækker derefter en delstreng.

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

Når du kører koden, får du følgende output:

The substring is: This is another sentence.
java

Det fungerer selv­føl­ge­lig lige så godt med tal:

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

Her er re­sul­ta­tet:

The last four digits are: 1142
java

Sådan bruges substring() sammen med beginIndex og endIndex

Den anden måde at bruge Java’s substring() på giver større kontrol over den re­sul­te­ren­de delstreng. Du angiver ikke kun start­punk­tet for del­stren­gen, men også et slutpunkt. Syntaksen ser således ud:

String substring(int beginIndex, int endIndex)
java

beginIndex er inklusivt, og endIndex er eks­klu­sivt. Lad os endnu en gang se på et simpelt eksempel:

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

Outputtet er:

The substring is: an example
java

Du kan også nemt udtrække en delstreng fra et enkelt ord. I det næste eksempel opretter vi en ind­købs­li­ste:

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

Den nye output vil se således ud:

The substring is: one
java

I vores sidste eksempel viser vi en praktisk an­ven­del­se af Java’s substring(). Forestil dig, at du har modtaget kundedata i et bestemt format. Hvis du kun vil isolere en del af disse op­lys­nin­ger, er substring() perfekt. Lad os se på koden:

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

Her er re­sul­ta­tet:

Here is the customer’s email address: taylorj@example.com
java
Gå til ho­ved­me­nu­en