Har provat att göra en liten regexpfunktion, men det vill sig inte...
Jag vill plocka ut det numeriska värdet ur en sträng som kan se ut som nedan...
<%
function GetContractNr(str)
dim re, m, result
set re = new regexp
re.pattern = "([^0-9])"
if re.test(str) then
set m = re.execute(str)
result = m(0).submatches(0)
else
result = ""
end if
GetContractNr = result
end function
dim s
s = GetContractNr(" foo 123 weee")
response.write s
%>
^ inne i en [] betyder att matcha det som inte är inne i gruppen.. dvs du kommer matcha allt som inte är 0-9 (vilket du egentligen kunde skriva \d
Du vill nog köra en replace istället för att plocka bort " foo " och " weee":
<%
Function GetContractNr(str)
with new regExp
.pattern = "[^\d]+"
.IgnoreCase = True
.Global = True
GetContractNr = .Replace(str, "")
End With
End Function
dim s
s = GetContractNr(" foo 123 weee")
Response.Write(s) ' "123"
%>
Eller är det den första nummer serien du vill säga är "kontrakt numret"?