Я хотел бы указать разделитель для сканера, который разделяется на некоторый шаблон, но не удаляет этот шаблон из токенов. Я не могу заставить эту работу работать, поскольку все, что идентифицируется регулярным выражением, также съедается как часть разделителя. Есть предложения?
Моя конкретная проблема, у меня есть файл, который выглядит так:
text/numbers mix
numbers
numbers
text/numbers mix
numbers
numbers
numbers
.
.
Я бы хотел выделить из текста / чисел + строки до следующего текста / чисел. У меня есть регулярное выражение для их идентификации, но, как уже было сказано, использование этого в качестве разделителя съедает часть того, что я хочу.
РЕДАКТИРОВАТЬ: добавление кода:
static final String labelRegex="\\s*[^01\\s*]\\w+\\s*";
static final Pattern labelPattern = Pattern.compile(labelRegex, Pattern.MULTILINE);
- это шаблон, который я использовал для идентификации бита текста / чисел (я знаю, что мои строки чисел содержат все 1/0, разделенные пробелами).
Когда я инициализирую сканер:
stateScan = new Scanner(new BufferedReader(new FileReader(source)));
stateScan.useDelimiter(labelPattern);
, который ест метки и просто покидает ряды. В настоящее время у меня есть рабочая реализация, которая запускает два сканера на двух буферизованных считывателях файлов из одного источника, один разбивает по состояниям, а другой по меткам. Мне бы очень хотелось, чтобы это был всего лишь один ярлык + государство.