Maison > Java > javaDidacticiel > Comment diviser correctement une chaîne Java en utilisant un point (.) comme délimiteur ?

Comment diviser correctement une chaîne Java en utilisant un point (.) comme délimiteur ?

Mary-Kate Olsen
Libérer: 2024-11-27 18:18:10
original
609 Les gens l'ont consulté

How to Correctly Split a Java String Using a Dot (.) as a Delimiter?

Java String Split with Dot (.)

En Java, la méthode split() est couramment utilisée pour décomposer une chaîne en fonction de un délimiteur spécifié. Cependant, lorsqu'ils tentent de diviser une chaîne sur un point littéral (.), les programmeurs rencontrent l'erreur suivante :

fileName.split(".")[0];
ArrayIndexOutOfBoundsException
Copier après la connexion

Pour comprendre la cause de cette exception, nous devons nous plonger dans les expressions régulières. Le point (.) est un métacaractère dans l'expression régulière qui correspond à n'importe quel caractère. Par conséquent, l'utilisation d'un point littéral sans l'échapper entraîne un comportement de fractionnement involontaire.

L'approche correcte consiste à échapper le point à l'aide d'une barre oblique inverse () pour garantir qu'il est interprété comme un caractère littéral :

fileName.split("\.")[0];
Copier après la connexion

Cela garantit que la chaîne est divisée spécifiquement au niveau du point littéral, plutôt qu'au niveau de tout autre caractère.

Un autre problème qui peut survenir est une ArrayIndexOutOfBoundsException lorsque la chaîne d'entrée est constituée uniquement d'un point (.). Pour éviter ce cas extrême, utilisez la version surchargée de split() avec un paramètre de limite défini sur une valeur négative :

fileName.split("\.", -1)[0];
Copier après la connexion

Définir la limite sur une valeur négative désactive le comportement de suppression des espaces de fin du tableau résultant , garantissant que même lorsque la chaîne d'entrée n'est qu'un point, un tableau avec deux espaces est renvoyé :

".".split("\.", -1) // [""," "]
Copier après la connexion

En suivant ces approches, vous pouvez diviser efficacement les chaînes Java sur le caractère point tout en éviter les exceptions potentielles.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal