Maison >Java >javaDidacticiel >Comment « Scanner.useDelimiter() » de Java fonctionne-t-il avec les expressions régulières ?
Lorsque vous utilisez la classe Scanner pour analyser un fichier, vous pouvez rencontrer le useDelimiter(), mais son comportement peut prêter à confusion. Cet article fournira une explication simplifiée du fonctionnement des délimiteurs en conjonction avec la classe Scanner.
La classe Scanner, lorsqu'elle est utilisée pour analyser l'entrée, peut être configurée pour utiliser un caractère ou un motif spécifique comme délimiteur. Par défaut, les caractères d'espacement (tels que les espaces, les tabulations et les nouvelles lignes) servent de délimiteurs. Cependant, vous pouvez spécifier votre propre délimiteur à l'aide de la méthode useDelimiter().
Par exemple, considérons le code suivant :
Scanner sc = new Scanner(new File(dataFile)); sc.useDelimiter(",|\r\n");
Dans cet exemple , le délimiteur spécifié est une virgule (",") ou un retour chariot suivi d'une nouvelle ligne ("rn"). Cela signifie que le scanner traitera toute occurrence d'un caractère ou d'une combinaison comme un délimiteur.
Pour illustrer comment cela fonctionne, considérez la chaîne d'entrée suivante :
1 fish 2 fish red fish blue fish
Lorsqu'il est traité à l'aide de l'objet Scanner configuré avec le délimiteur spécifié, il divisera l'entrée en jetons comme suit :
1 2 red blue
Le délimiteur spécifié dans useDelimiter() peut inclure des expressions régulières (regex). Les expressions régulières constituent un moyen concis et puissant de définir des modèles complexes dans un texte. L'expression régulière utilisée dans l'exemple ci-dessus, ",|rn", correspond à une virgule ou à un saut de ligne.
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!