Javas substring-metod används för att extrahera en delsträng från en större sträng. Det finns två olika sätt att använda den, antingen genom att separera strängen från ett index till slutet eller med ett för­de­fi­ni­e­rat början- och slutindex för del­sträng­en.

Vad är Java-metoden substring och hur används den?

I Java kan tecken, siffror och spe­ci­al­tec­ken kom­bi­ne­ras till en Java-sträng. Om du vill extrahera en specifik delmängd från en större sträng har du flera al­ter­na­tiv. Metoden Java String.split() delar upp en hel sträng i enskilda delar för att till exempel ge dig en tydligare översikt över strängen. Metoden substring() går ett steg längre och re­tur­ne­rar endast den del av strängen som du de­fi­ni­e­rar. Du kan definiera vilken del av strängen du vill extrahera med hjälp av enbart ett startin­dex eller med både ett start- och ett slutindex. I den här hand­led­ning­en pre­sen­te­rar vi Javas substring() i dess olika former.

Hur man använder Java substring() med beginIndex

Som nämnts ovan finns det två sätt att använda Javas substring(). Den första de­fi­ni­e­rar endast start­punk­ten för den delsträng som du vill extrahera. Den delar upp strängen från det indexet till strängens sista tecken. Syntaxen ser ut som följer:

String substring(int beginIndex)
java

För att använda substring() måste du först ange den sträng som du vill extrahera del­sträng­en från. Sedan använder du ett heltal för att definiera var del­sträng­en ska börja. Du kan visa re­sul­ta­tet med Java-kommandot System.out.println. Metoden fungerar in­klu­de­ran­de, vilket innebär att tecknet som finns i po­si­tio­nen för det index du anger också kommer att separeras. Om värdet på beginIndex är mindre än 0 eller större än strängens faktiska längd får du ett fel­med­de­lan­de.

Låt oss titta på ett enkelt exempel för att se hur exakt substring() fungerar i Java. Vi skapar en sträng och ex­tra­he­rar sedan en delsträng.

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ör koden får du följande resultat:

The substring is: This is another sentence.
java

Det fungerar na­tur­ligt­vis lika bra med siffror:

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

Här är re­sul­ta­tet:

The last four digits are: 1142
java

Hur man använder substring() med beginIndex och endIndex

Det andra sättet att använda Javas substring() ger större kontroll över den re­sul­te­ran­de del­sträng­en. Du anger inte bara start­punk­ten för del­sträng­en utan också en slutpunkt. Syntaxen ser ut som följer:

String substring(int beginIndex, int endIndex)
java

beginIndex är in­klu­de­ran­de och endIndex är ex­klu­de­ran­de. Låt oss återigen titta på ett enkelt exempel:

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­sul­ta­tet är:

The substring is: an example
java

Du kan också enkelt extrahera en delsträng från ett enskilt ord. I nästa exempel skapar vi en in­köpslis­ta:

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 nya utdata kommer att se ut enligt följande:

The substring is: one
java

I vårt sista exempel visar vi ett praktiskt an­vänd­nings­fall för Javas metod substring(). Tänk dig att du har fått kunddata i ett visst format. Om du vill isolera bara en del av den in­for­ma­tio­nen är substring() perfekt. Låt oss titta 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

Här är re­sul­ta­tet:

Here is the customer’s email address: taylorj@example.com
java
Gå till huvudmeny