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 ("rn"). 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 ",|rn" précise qu'un jeton se termine soit par une virgule, soit par 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 "spoissons". 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.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!