Je dispose d'un fichier csv au format ci-dessous.
H,"TestItems_20100107.csv",07/01/2010,20:00:00,"TT1198","MOBb","AMD",NEW,,
Je veux que la commande split ignore les virgules à l'intérieur des guillemets doubles. J'ai donc utilisé la commande split ci-dessous, tirée d'un article précédent. J'ai collé l'URL où j'ai pris cette commande
String items[] = line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");
System.out.println("items.length"+items.length);
Lorsque j'exécute cette commande CSV, j'obtiens une longueur de 8 pour items.length et les deux dernières virgules en fin de ligne après "NEW" sont ignorées. Je veux que la commande split prenne en compte ces virgules et me renvoie la longueur à 10. La commande ne prend pas en compte les virgules nulles si elles se trouvent à la fin, mais elle le fait si elles se trouvent au milieu de la chaîne. Je ne sais pas ce que je dois modifier dans la commande split pour résoudre ce problème. De plus, dans le fichier csv, les guillemets dans le contenu d'un champ texte peuvent être répétés (par exemple, "Ce compte est un compte ""large""").