Better replace by an algorithm that splits notations into parts of type number (0-9), letters (a-zA-Z), other (everything else) and use these elements for sorting. Example:
A.23-09a => ["A", ".", "23", "-", "09", "a"]
A.1-11b => ["A", ".", "1", "-", "11", "b"] so 23 > 1, 11 > 09, b > a
Current numerical sorting works by reading notations as numbers. This does not work for notations build of letters and numbers such as https://bartoc.org/en/node/20406/?uri=http%3A%2F%2Furi.gbv.de%2Fterminology%2Fbrunfels%2FMedica#content
Better replace by an algorithm that splits notations into parts of type number (0-9), letters (a-zA-Z), other (everything else) and use these elements for sorting. Example:
A.23-09a
=>["A", ".", "23", "-", "09", "a"]
A.1-11b
=>["A", ".", "1", "-", "11", "b"]
so23
>1
,11
>09
,b
>a