Maison >Java >javaDidacticiel >Comment la classe Scanner de Java utilise-t-elle des délimiteurs pour analyser les données texte ?
La classe Java Scanner offre la possibilité de lire et d'analyser des données texte à l'aide d'un caractère ou d'un modèle de délimiteur désigné.
La méthode useDelimiter dans Scanner vous permet de spécifier le caractère ou l'expression régulière qui sépare les jetons de données individuels dans le texte d'entrée.
Considérez le code suivant :
Scanner sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
Ici, nous ouvrons un fichier et disons au scanner d'utiliser la virgule ou un caractère de nouvelle ligne rn comme délimiteurs. Cela signifie que lors de la lecture du fichier, le scanner divisera l'entrée en jetons individuels en fonction de ces délimiteurs.
En Java, vous pouvez utiliser des expressions régulières comme délimiteurs. Les expressions régulières offrent un moyen flexible de spécifier des modèles de caractères à faire correspondre dans l'entrée.
Par exemple, pour rechercher toutes les occurrences du mot « poisson » dans une chaîne, vous pouvez utiliser le délimiteur \s*fish\ merde*. Cela correspond à n'importe quel caractère d'espacement (indiqué par s) zéro ou plusieurs fois, suivi du mot « poisson », suivi de zéro ou plusieurs caractères d'espacement.
Le tableau suivant fournit exemples de caractères d'expression régulière courants et leurs significations :
Character | Meaning |
---|---|
d | Any digit |
D | Any non-digit character |
w | Any alphanumeric character |
W | Any non-alphanumeric character |
.* | Capture all |
{} | Specify the number of repetitions of a pattern |
[] | Specify a range of characters to match |
Référez-vous à la documentation officielle Java pour des informations plus détaillées sur la syntaxe des expressions régulières.
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!