Учитывая большой кусок текста, он извлекается и разбивается на несколько TextUnit (абзацы). Как я могу найти диапазон (начальный / конечный индекс) всех сегментов, соответствующих источнику?
Я знаю, что в каждом TextUnit я могу получить диапазон всех сегментов, однако это относительно TextUnit, начиная с индекса 0. Я хотел бы диапазон сегментов относительно источника (абсолютный диапазон).
Пример:
Получить диапазон сегментов в TextUnit
for( TextUnit tu : textUnit) {
List<Range> ranges = tu.getSource().getSegments().getRanges();
}
диапазоны сегментов в TextUnit - (начало. Конец, id)
- TextUnit.id = 1 - (0,19,0)
- TextUnit.id = 2 - (0,4,0) (4,33,1) (33,37,2)
- TextUnit.id = 3 - (0,15,0)
получить диапазон сегментов в источнике
segmenter.computeSegments(source);
ranges = segmenter.getRanges();
диапазоны источника (начало, конец, id)
- (0,19, null)
- (31,35, null)
- (35,64, null)
- (64,68, null)
- (80,95, null)
Я хотел бы получить диапазоны сегментов в TextUnit относительно источника. В идеале комбинация всего диапазона сегментов из всего TextUnit была бы равна диапазону сегментов из источника.