J'ai la chaîne suivante :
String str = "\nHERE\n\nTHERE\n\nEVERYWHERE\n\n";
Si vous l'imprimez simplement, vous obtiendrez le résultat suivant (bien entendu, le symbole \n
ne serait pas "littéralement" imprimée) :
\n
HERE\n
\n
THERE\n
\n
EVERYWHERE\n
\n
\n
Lorsque j'appelle la méthode split("\n")
Je veux récupérer toutes les chaînes de caractères entre la nouvelle ligne ( \n
) et même des chaînes vides à la fin.
Par exemple, si je fais ceci aujourd'hui :
String strArray[] = str.split("\n");
System.out.println("strArray.length - " + strArray.length);
for(int i = 0; i < strArray.length; i++)
System.out.println("strArray[" + i + "] - \"" + strArray[i] + "\"");
Je veux qu'il s'imprime comme suit (sortie A) :
strArray.length - 8
strArray[0] - ""
strArray[1] - "HERE"
strArray[2] - ""
strArray[3] - "THERE"
strArray[4] - ""
strArray[5] - "EVERYWHERE"
strArray[6] - ""
strArray[7] - ""
Actuellement, il s'imprime comme ceci (sortie B), et les chaînes vides finales sont ignorées :
strArray.length - 6
strArray[0] - ""
strArray[1] - "HERE"
strArray[2] - ""
strArray[3] - "THERE"
strArray[4] - ""
strArray[5] - "EVERYWHERE"
Comment faire pour que le split()
inclut les chaînes vides comme dans la sortie A ? Je pourrais bien sûr écrire un morceau de code de plusieurs lignes, mais je voulais savoir, avant de perdre mon temps à essayer de le mettre en œuvre, s'il y avait une méthode simple ou deux lignes de code supplémentaires pour m'aider. Je vous remercie.