Alltså,
Vi har en funktion som tar ut fyra tecken ur en sträng för att identifiera en viss person, men hur gör vi om denn sträng innehåller annat än siffror.
I ett fall har vi ett exempel på en person som bara har 3 tecken långt + en extra dubbelfnutt som inte ska vara med.
Funktionen tar alltid ut 4 tecken(i detta fall blir det 302").
Kan man skriva en funktion som kontrollerar så att strängen inte innehåller något annat än siffror eller finns där något annat sätt att lösa detta på?
Naturligtvis.
Men finns där då i sådant fall något jag kan göra för att ta bort eller ersätta allt som inte är siffror in min sträng? (mer än att bara kontrollera att så är fallet)
Här är en gammal funktion jag byggde för länge sedan, kanske inte optimal, men fungerande:
Function fixintchr(str)
For i = 1 To Len(str)
If Asc(Mid(str,i,1)) > Asc("0")-1 AND Asc(Mid(str,i,1)) < Asc("9")+1 then
str2 = str2 & Mid(str,i,1)
End If
Next
fixintchr = Cint(str2)
End Function
Function fStr2Int(str)
objRS = New RegExp
objRS.Global = True
objRS.IgnoreCase = True
objRS.Pattern = "\D"
fStr2Int = Nz(objRS.Replace(str, ""), -1) [blue]' -1 så var det inga siffror...[/blue]
End Function