Dim data As String = "C1, P5, S939, S3, C5, S9, C3, S1, P1, S10"
Dim output,items(),prefix,num As String
Dim l,p As List
p.Initialize
p.AddAll(Array As String("P","S","C")) ' <- here
l.Initialize
items=Regex.Split(", ",data)
For x=0 To items.Length-1
num=("000000"&items(x).SubString(1))
l.Add(p.IndexOf(items(x).SubString2(0,1)) &"-"& num.SubString(num.Length-5) & "-" & items(x))
Next
l.Sort(True)
For x=0 To l.Size-1
output=output & Regex.Split("-",l.Get(x))(2)
If x<l.Size-1 Then output=output&", "
Next
Log(output)