# Java String substring() : variantes et fonctionnement de la méthode

La méthode `substring` en Java est utilisée pour extraire une sous-chaîne d’un string complet. Pour ce faire, il existe deux variantes : soit vous divisez le string à partir d’un index défini jusqu’à la fin, soit vous définissez à l’avance le début et la fin de la sous-chaîne.

## Qu’est-ce que la méthode `substring` en Java et comment l’utiliser ?

En langage Java, plusieurs caractères, chiffres ou caractères spéciaux peuvent être combinés pour former un [String Java](https://www.ionos.com/fr-ch/digitalguide/sites-internet/developpement-web/java-strings/). Si vous souhaitez extraire certaines parties de ce string complet, vous avez plusieurs possibilités. Si la méthode [Java String.split()](https://www.ionos.com/fr-ch/digitalguide/sites-internet/developpement-web/java-string-split/) permet de diviser la chaîne entière en ses différentes parties et d’obtenir, par exemple, un aperçu plus clair, la méthode Java String substring() va encore un peu plus loin et ne restitue que la partie de la chaîne **définie par un index de début ou, alternativement, par un index de début et d’un index de fin**. Découvrons ensemble cette méthode et ses variantes.

## Substring avec `beginIndex`

Comme déjà évoqué dans notre introduction, il existe deux variantes de la méthode Java `String substring()`. Elles se distinguent l’une de l’autre en quelques points. La première variante **définit simplement un point de départ** à partir duquel la sous-chaîne (*substring*) doit être formée. Celui-ci sépare le string en ce point jusqu’au dernier caractère du string. Sa syntaxe suit ce schéma :

```java
String substring(int beginIndex)
```

Ce faisant, vous déterminez d’abord le string à partir duquel une sous-chaîne doit être extraite. Ensuite, vous définissez à l’aide d’un `integer` à quel endroit commence cette sous-chaîne. La sortie correspondante est générée par la commande Java `System.out.println`. La méthode **travaille de manière inclusive**, de sorte que le caractère qui se trouve à la place de l’index est également séparé. Si la valeur `beginIndex` est inférieure à 0 ou supérieure à la longueur effective de la chaîne, un message d’erreur s’affichera.

Pour illustrer le fonctionnement de la méthode `Str.substring()` en langage Java, nous avons choisi un exemple simple pour lequel nous créons un string, puis nous en extrayons une sous-chaîne à un point donné.

```java
public class Main {
	public static void main(String args[]) {
	String Str = new String("Ceci est un exemple. Une deuxième phrase suit.");
	System.out.print("Ceci est la nouvelle sous-chaîne : ");
	System.out.println(Str.substring(23));
	}
}
```

En exécutant le code, vous obtenez l’indication suivante :

```java
Ceci est la nouvelle sous-chaîne ; une deuxième phrase suit.
```

Cette méthode fonctionne tout aussi bien lorsque le string est composé de chiffres :

```java
public class Main {
	public static void main(String args[]) {
	String Str = new String("192.448.782.1142");
	System.out.print("Les quatre derniers chiffres sont : ");
	System.out.println(Str.substring(12));
	}
}
```

La sortie est la suivante :

```java
Les quatre derniers chiffres sont : 1142
```

## Substring avec `beginIndex` et `endIndex`

La deuxième variante de la méthode Java Substring vous permet de concevoir la sous-chaîne de manière encore plus précise. Dans ce cas, vous définissez non seulement le point à partir duquel la sous-chaîne doit être extraite, mais vous déterminez **aussi un point final**. La syntaxe correspondante est la suivante :

```java
String substring(int beginIndex, int endIndex)
```

Dans cette méthode, le `beginIndex` est inclusif et le `endIndex` est exclusif. Cette variante s’illustre également par un exemple simple :

```java
public class Main {
	public static void main(String args[]) {
	String Str = new String("Ceci est un exemple. Une deuxième phrase suit.");
	System.out.print("Ceci est la nouvelle sous-chaîne : ");
	System.out.println(Str.substring(9, 21));
	}
}
```

La sortie suivante est générée :

```java
Ceci est la nouvelle sous-chaîne : un exemple
```

Par ailleurs, il est aussi tout à fait possible de former une sous-chaîne à l’intérieur d’un mot. Pour cela, nous l’extrayons, par exemple, de cette liste de courses fictive :

```java
public class Main {
	public static void main(String args[]) {
	String Str = new String("œufs, lait, haricots, lard et farine");
	System.out.print("Ceci est la nouvelle sous-chaîne : ");
	System.out.println(Str.substring(16, 21));
	}
}
```

L’indication obtenue prend alors la forme suivante :

```java
Ceci est la nouvelle sous-chaîne : ricot
```

Pour finir, découvrez à l’aide d’un autre exemple un cas d’application possible de la méthode Java Substring en pratique. Imaginons que vous ayez reçu les coordonnées d’un client dans un certain format. Si vous souhaitez isoler uniquement la partie qui vous intéresse, la méthode suivante est tout indiquée. Pour ce faire, nous avons créé le code suivant :

```java
public class Main {
	public static void main(String args[]) {
	String Str = new String("247: Rouault, Lucas|rouaultl@exemples.com|Nantes|12.04.1972");
	System.out.print("Ceci est l’adresse email du client : ");
	System.out.println(Str.substring(20, 41));
	}
}
```

La sortie générée est :

```java
Ceci est l’adresse email du client : rouaultl@exemples.com
```


This is a markdown version of: [https://www.ionos.com/fr-ch/digitalguide/sites-internet/developpement-web/java-string-substring/](https://www.ionos.com/fr-ch/digitalguide/sites-internet/developpement-web/java-string-substring/) for AI/LLM consumption.