Maison > Java > javaDidacticiel > Comment puis-je diviser une chaîne Java et conserver toutes les valeurs vides, y compris celles de fin ?

Comment puis-je diviser une chaîne Java et conserver toutes les valeurs vides, y compris celles de fin ?

DDD
Libérer: 2024-12-20 19:50:24
original
847 Les gens l'ont consulté

How Can I Split a Java String and Keep All Empty Values, Including Trailing Ones?

Diviser des chaînes Java sans supprimer les valeurs vides

Lorsque vous essayez de diviser une chaîne Java à l'aide de la méthode split (String regex), on pourrait s'attendre pour conserver les valeurs vides dans le tableau résultant, en particulier si elles se trouvent n'importe où dans la chaîne. Cependant, par défaut, la méthode split supprime les valeurs vides de fin du tableau de sortie.

Considérez le code suivant :

String data = "5|6|7||8|9||";
String[] split = data.split("\|");
System.out.println(split.length);
Copier après la connexion

Dans cet exemple, nous nous attendons à obtenir huit valeurs dans la division tableau, y compris les chaînes vides : [5, 6, 7, EMPTY, 8, 9, EMPTY, EMPTY]. Cependant, nous nous retrouvons de manière inattendue avec seulement six valeurs en raison de la suppression automatique des chaînes vides de fin.

Pour résoudre ce problème, nous pouvons exploiter la méthode split (String regex, int limit) surchargée, où la limite est définie à une valeur négative. Cela indique à la méthode de s'abstenir de supprimer les chaînes vides de fin.

String[] split = data.split("\|", -1);
Copier après la connexion

En invoquant la version surchargée, nous remplaçons le comportement par défaut et préservons toutes les valeurs vides dans le tableau divisé, quelle que soit leur position.

Informations supplémentaires

Il est important de noter que le comportement par défaut consistant à supprimer uniquement les chaînes vides de fin s'applique lorsque ces chaînes vides sont générées à la suite du processus de fractionnement. Cela signifie que si une chaîne vide existe dans la chaîne d'entrée d'origine (par exemple, "".split(anything)), elle restera dans le tableau résultant car elle n'a pas été introduite par le mécanisme de fractionnement.

Ce granulaire la compréhension du comportement de la méthode split garantit aux développeurs un meilleur contrôle sur le contenu de leurs tableaux de sortie lorsqu'ils traitent des valeurs potentiellement vides.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal