Je voudrais spécifier un délimiteur pour un scanner qui sépare un motif, mais ne le supprime pas des jetons. Je ne peux pas sembler faire ce travail, car tout ce qui est identifié par l'expression régulière est également mangé dans le cadre du délimiteur. Aucune suggestion?Utilisation du séparateur Java Scanner
Mon problème spécifique, j'ai fichier qui ressemble à:
text/numbers mix
numbers
numbers
text/numbers mix
numbers
numbers
numbers
.
.
Je voudrais partager à partir du texte/nombres mélange + lignes jusqu'à ce que le prochain texte/mix chiffres. J'ai l'expression régulière pour les identifier, mais comme indiqué, l'utiliser comme délimiteur mange une partie de ce que je veux.
EDIT: ajout de code:
static final String labelRegex="\\s*[^01\\s*]\\w+\\s*";
static final Pattern labelPattern = Pattern.compile(labelRegex, Pattern.MULTILINE);
est le modèle que je l'habitude d'identifier le texte/chiffres bits (je sais que mes numéros lignes contiennent tous les 1/0s séparés par des espaces).
Quand j'initialiser le scanner:
stateScan = new Scanner(new BufferedReader(new FileReader(source)));
stateScan.useDelimiter(labelPattern);
qui mange les étiquettes, et laisse juste les lignes. J'ai actuellement une implémentation de travail qui démarre deux scanners sur deux lecteurs de fichiers tamponnés provenant de la même source, l'un se décomposant par états et l'autre par étiquettes. Je voudrais vraiment que ce soit juste une étiquette saisissante + état.
peut vous envoyer le code que vous avez essayé jusqu'à présent? – akf