Det kanske går att göra med någon snygg regexp men detta är iaf ett litet försök.
Dim str, pieces, kg
str="0001 pieces , 0000040 kg"
If instr(str,"pieces") > 0 then
pieces = split(str,"pieces")
Response.write FormatNumber(left(pieces(0),4),0) &" st "
End if
If instr(str,"kg") > 0 then
kg = split(str,"kg")
Response.write FormatNumber(right(kg(0),7),1) &" kg "
End if
str="0001 pieces , 0000040 kg"
instrpieces = instr(str,"pieces")
If instrpieces > 0 then
Response.write FormatNumber(mid(str,instrpieces-5,4),0) &" st "
End if
instrkg = instr(str,"kg")
If instrkg > 0 then
Response.write FormatNumber(mid(str,instrkg-8,7),1) &" kg "
End if
Eller, skjut och titta:
On error resume next
Response.write FormatNumber(mid(str,instr(str,"pieces")-5,4),0) &" st "
Response.write FormatNumber(mid(str,instr(str,"kg")-8,7),1) &" kg "
dim rslt
dim re : re = new regexp
re.ignorecase = true
re.global = true
re.pattern = "\d{7}\skg(\s,)?"
rslt = re.replace([i]replaceString[/i], "")
re.pattern = "0*(\d+\spieces)(\s,)?"
rslt = re.replace(rslt, "$1")
set re = nothing
Ovan har jag antagit att datat finns i replaceString.