Diviser une chaîne avec des valeurs vides conservées en Java
Lors de l'exécution d'un fractionnement de chaîne à l'aide de la méthode String.split(), un comportement inattendu se produit lorsque les délimiteurs consécutifs entraînent la suppression des valeurs vides du tableau résultant. Cependant, on peut s'attendre à conserver ces valeurs vides pour préserver l'ordre et la structure d'origine des données.
String data = "5|6|7||8|9||"; String[] split = data.split("\|"); System.out.println(split.length);
Dans cet exemple, avec la méthode par défaut "split()", seules six valeurs sont renvoyées. : [5, 6, 7, 8, 9, VIDE]. Pour conserver les valeurs vides, la version surchargée de split() qui prend un paramètre limit peut être utilisée. En fixant la limite à une valeur négative, les valeurs vides sont conservées.
String[] split = data.split("\|", -1);
La documentation de split(regex, limit) indique que lorsque la limite est non positive, le modèle sera appliqué autant de fois autant que possible, permettant au tableau résultant d'avoir n'importe quelle longueur, et que les chaînes vides de fin soient rejeté.
Exception :
Il est important de noter que la suppression des chaînes vides de fin n'a de sens que si ces chaînes vides ont été créées pendant le processus de fractionnement. Par exemple, diviser une chaîne vide ("") avec n'importe quel délimiteur entraînera un tableau contenant une chaîne vide : ["", ""]. En effet, il n'y a pas de fractionnement à effectuer, donc la chaîne d'origine elle-même est représentée comme une chaîne vide dans le tableau.
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!