I think you may need to consider a few less used techniques for this.
For example, capture all the lines in a single field and then slice and dice in some way. Of course this suggestion assumes that you can define a trap that is independent of the 'detail' line detail and does not repeat on each line.
If there is a single value in each original line you could RPLIT() the last value to get the bold line.
You might also be able to do something with the LEN() function as the basis for how many lanes there are or maybe perform a check for how many lines (within reason) using the TEXTLINE() function and testing for the presence/absence of data on each of, say, 10 lines. (If you may have hundreds of lines that is not very practicable of course!)
Alternatively is the last line consistently followed by something else that you might be able to trap? For example if you have
trap line ...................................
So, some starter ideas, probably not too well explained yet. If any of them sound like they may offer a possible solution I'll be happy to describe them in more detail - though a representative sample of the input data would be useful if you have the possibility of posting something.