Ca ne marche, à peine, que si les séparateurs arrivent dans le même ordre, dans les deux paramètres.
Et même dans ce cas, le tableau renvoyé est de taille 100, ce qui ne sera presque jamais la bonne taille.
Il vaut mieux utiliser un split() qui les gère tous à la fois.
Par contre,
Envoyé par
Nico02
value.replaceAll( "[" + sep + "]", ";" ).split( ";" );
Il n'est pas utile de faire replaceAll() avant un split(), puisque split() lui-même est à base de regex, donc c'est équivalent en un peu moins performant que :
value.split("[" + sep + "]");
Toutefois, c'est peut-être un peu naïf de faire des trucs comme "[" + sep + "]", qu'est-ce qui se passe si comme séparateur on a des \ ou - ou [ ]
Pour régler ça, on en arrive à des trucs comme :
1 2
| String separatorRegex = "[" + Pattern.quote(sep).replace("-", "\\-") + "]";
return value.split(separatorRegex); |
ce qui devient de toute façon un peu compliqué (et je suis même pas tout à fait sûr que ça suffise).
Partager