Converts the spans by the given mapping.
Generally speaking, the character correspondence between two texts is not
necessarily surjective, not injective, not even a methematical map - some
character in textA may not have a correspondence in textB, or may have
multiple correspondences in textB. Thus, mapping should be provided as
Vec<Vec<Span>>.
Remove overlapping spans from given spans.
First, longest spans are remained - if the two spans are overlapped, the
first span will be remained. If the two spans are overlapped and their start
positions are same, the longer span will be remained.
Remove overlapping spans from given spans, and returns remained span indices.
First, longest spans are remained - if the two spans are overlapped, the
first span will be remained. If the two spans are overlapped and their start
positions are same, the longer span will be remained.