Maison >Java >javaDidacticiel >Comment la méthode String `split()` de Java peut-elle être utilisée pour récupérer toutes les valeurs, y compris les valeurs vides ?

Comment la méthode String `split()` de Java peut-elle être utilisée pour récupérer toutes les valeurs, y compris les valeurs vides ?

DDD
DDDoriginal
2025-01-04 10:54:34955parcourir

How Can Java's String `split()` Method Be Used to Retrieve All Values, Including Empty Ones?

Récupération de valeurs non vides avec la méthode de division de chaîne de Java

Lors du fractionnement d'une chaîne à l'aide de la méthode split(), il est essentiel de comprendre comment il gère les valeurs vides. Par défaut, cette méthode supprime les valeurs de chaîne vides de fin du tableau résultant.

Pour illustrer ce comportement, considérons le code suivant :

String data = "5|6|7||8|9||";
String[] split = data.split("\|");
System.out.println(split.length);

Le résultat attendu est un tableau avec huit éléments, y compris les chaînes vides aux emplacements indiqués par des caractères à double barre verticale (||). Cependant, seules six valeurs sont obtenues : [5,6,7,8,9].

Remplacement du comportement par défaut

Pour récupérer des valeurs non vides, utilisez la version surchargée de la méthode split() qui prend un paramètre de limite défini sur une valeur négative :

String[] split = data.split("\|", -1);

En définissant la limite sur une valeur négative (-1 dans ce cas), le modèle est appliqué autant de fois que possible et le tableau inclut toutes les valeurs correspondantes et non correspondantes, qu'elles soient vides ou non.

Comprendre la documentation

La documentation de la méthode split() fournit des informations précieuses sur son comportement :

  • Si la limite est supérieure à zéro : La dernière entrée du tableau contient toutes les entrées au-delà du dernier délimiteur correspondant.
  • Si la limite n'est pas positive : Le motif est appliqué autant de fois que possible, et le le tableau peut avoir n'importe quelle longueur.
  • Si la limite est zéro : Les chaînes vides de fin sont rejeté.

Exception à la règle

Il est important de noter que la suppression des chaînes vides de fin ne s'applique qu'à celles créées par le mécanisme de division. Les chaînes vides avant le fractionnement sont considérées comme des chaînes originales et ne sont pas supprimées.

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!

Déclaration:
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