Extraction d'Informations à Partir de Chaînes en Java
Glissez pour afficher le menu
Lorsque vous travaillez avec du texte dans des applications réelles, il est rare d'avoir besoin de la chaîne entière — la plupart du temps, seule une petite partie est nécessaire. Un nom dans un e-mail, un produit dans un message de commande, ou un mot-clé spécifique caché dans une phrase. Java propose des outils simples mais puissants pour extraire exactement ce dont vous avez besoin.
substring()
Pour extraire une « tranche » d'une chaîne en fonction des positions des caractères, utilisez .substring(). Cette méthode repose sur l’indexation à partir de zéro — le comptage commence à 0. Elle retourne une nouvelle String.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }
substring(6, 11) indique à Java de commencer à l’index 6 (inclus) et de s’arrêter juste avant l’index 11 (exclu) — extrayant ainsi les caractères aux positions 6 à 10, ce qui donne "Latte".
Si vous utilisez substring(start) avec un seul argument, Java extrait tout à partir de cette position jusqu’à la fin de la chaîne :
order.substring(6); // "Latte with oat milk"
indexOf()
Pour trouver où se situe un texte spécifique dans une chaîne, utilisez .indexOf(). Au lieu de découper le texte, cette méthode le localise. Elle retourne un int représentant l’index de début de la correspondance.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }
Java parcourt la chaîne de gauche à droite jusqu'à ce qu'il trouve "Latte" et retourne la position de son premier caractère — 6. Si le texte n'est trouvé nulle part dans la chaîne, Java retourne -1.
Combinaison des deux — Exemple réel
Cet exemple réel combine indexOf() et substring() pour extraire un nom d'utilisateur à partir d'une adresse e-mail.
Main.java
1234567891011121314package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }
indexOf("@") trouve la position du symbole @, puis substring(0, atPosition) extrait tout depuis le début de la chaîne jusqu'à — mais sans inclure — le @. Le résultat est "anna.coffee". Au lieu de coder en dur les positions, on laisse Java localiser la limite et extraire exactement ce dont on a besoin.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Extraction d'Informations à Partir de Chaînes en Java
Lorsque vous travaillez avec du texte dans des applications réelles, il est rare d'avoir besoin de la chaîne entière — la plupart du temps, seule une petite partie est nécessaire. Un nom dans un e-mail, un produit dans un message de commande, ou un mot-clé spécifique caché dans une phrase. Java propose des outils simples mais puissants pour extraire exactement ce dont vous avez besoin.
substring()
Pour extraire une « tranche » d'une chaîne en fonction des positions des caractères, utilisez .substring(). Cette méthode repose sur l’indexation à partir de zéro — le comptage commence à 0. Elle retourne une nouvelle String.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }
substring(6, 11) indique à Java de commencer à l’index 6 (inclus) et de s’arrêter juste avant l’index 11 (exclu) — extrayant ainsi les caractères aux positions 6 à 10, ce qui donne "Latte".
Si vous utilisez substring(start) avec un seul argument, Java extrait tout à partir de cette position jusqu’à la fin de la chaîne :
order.substring(6); // "Latte with oat milk"
indexOf()
Pour trouver où se situe un texte spécifique dans une chaîne, utilisez .indexOf(). Au lieu de découper le texte, cette méthode le localise. Elle retourne un int représentant l’index de début de la correspondance.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }
Java parcourt la chaîne de gauche à droite jusqu'à ce qu'il trouve "Latte" et retourne la position de son premier caractère — 6. Si le texte n'est trouvé nulle part dans la chaîne, Java retourne -1.
Combinaison des deux — Exemple réel
Cet exemple réel combine indexOf() et substring() pour extraire un nom d'utilisateur à partir d'une adresse e-mail.
Main.java
1234567891011121314package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }
indexOf("@") trouve la position du symbole @, puis substring(0, atPosition) extrait tout depuis le début de la chaîne jusqu'à — mais sans inclure — le @. Le résultat est "anna.coffee". Au lieu de coder en dur les positions, on laisse Java localiser la limite et extraire exactement ce dont on a besoin.
Merci pour vos commentaires !