Comment utiliser la méthode useDelimiter()
de la classe Scanner
pour utiliser la virgule (,) et le caractère de nouvelle ligne (\ n) comme délimiteurs?
Je suis en train d'analyser du texte d'un fichier csv.
Scanner s = new Scanner("hello, world \n hello world");
s.useDelimiter(",|\\n");
while(s.hasNext()){
System.out.println(s.next());
}
Sortie
hello
world
hello world
Que diriez-vous de useDelimiter(",|\\n");
useDelimiter prend un motif regex, donc ce serait quelque chose comme ",|\n"
Jigar est absolument correct. Mais si cela ne fonctionne pas, essayez ",|\\r"
puisque la plupart des fichiers texte ont\r\n au lieu de\n
Utilisation des séparateurs de balayage pour les fichiers Excel - ne négligez pas la chose RegEx. Dans mon cas, le fichier Excel est délimité par '|'. J'ai passé beaucoup de temps à analyser les lignes à l'aide de scanner.useDelimiter ("|"), et récupéré caractère par caractère. Remplacer cela par scanner.useDelimiter ( "\\ |" ) a résolu mon problème!