That's true, with grouping it is not possible with a single expression. But even with an UDF I don't think it's trivial, but may be proven wrong. If I understand it correctly, it would be easy to sort all items, after they are fetched, but it will be hard to generate a string that can handle all incoming new items without being able to formally segment the length of each possible group (like the one-liner I proposed does for just one-group-and-ignore-the-others).
Curious about how you will solve this...
>If I use
>
>TEXT TO lcx NOSHOW
>1
>10
>2
>03
>1.1
>12.R
>1.1.R
>1201.1.RBX.250.R.1
>1201.1.R.250.R.1
>1201.1.RBX.1.R.1
>1.R
>1.R.1
>A
>B
>AA
>5.R
>CDXB
>ENDTEXT
><pre>
>
>It will fail on the RBX;R;RRBX. The problem ist that a generic number of <i>dot+something groups</i> is hard without some loop.
>
>I think I will mix your code with the function approach.
>
>Thank you (_ _)
>
>
>><PRE>
>>INDEX ON PADL(IIF(ISDIGIT(LEFT(ALLTRIM(item),1)),TRANSFORM(VAL(STREXTRACT(ALLTRIM(item),"",".",1,2)),"@L " + REPLICATE("9",LEN(item))),ALLTRIM(item)),LEN(item),"@") TAG anIndex
>>
----------------------------------
António Tavares Lopes