La classe Scanner en Java fournit la méthode useDelimiter, vous permettant de spécifier un délimiteur (un caractère ou un motif) qui sépare jetons. Cependant, l’utilisation de délimiteurs peut prêter à confusion pour les débutants. Décomposons-le en termes plus simples.
Considérez l'extrait :
sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
Dans cet exemple, le délimiteur est défini comme une combinaison d'une virgule (",") et d'un retour chariot suivi d'une nouvelle ligne ("\ r\n"). Le scanner utilisera ce délimiteur pour séparer les jetons dans le fichier de données.
Le délimiteur que vous spécifiez dans useDelimiter est une expression régulière. Les expressions régulières sont des modèles utilisés pour faire correspondre des caractères ou des séquences. Le délimiteur ",|\r\n" spécifie qu'un jeton se termine par une virgule ou un retour chariot suivi d'une nouvelle ligne.
Prenons un exemple :
String input = "1 fish 2 fish red fish blue fish"; Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*"); System.out.println(s.nextInt()); // prints: 1 System.out.println(s.nextInt()); // prints: 2 System.out.println(s.next()); // prints: red System.out.println(s.next()); // prints: blue s.close();
Dans cet exemple, le délimiteur est "\sfish\s." Le \\s* indique qu'il peut y avoir n'importe quel nombre d'espaces (y compris zéro) avant ou après le mot « poisson ». Cela signifie que le scanner fera correspondre et extraira des jetons tels que "1 poisson", "2 poissons", etc.
N'oubliez pas que lorsque vous utilisez useDelimiter en Java, il est important de comprendre les règles régulières. expressions. Vous pouvez trouver des didacticiels détaillés en ligne pour améliorer vos connaissances sur les modèles d'expressions régulières. Avec une bonne compréhension des délimiteurs et des expressions régulières, vous pouvez analyser et extraire efficacement des données de fichiers texte à l'aide de la classe Scanner.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3