Как из такой строки выбрать только число Например: "pr123st"
Большое спасибо!
dim I as long, pos as long
for i=0 to 9
pos=instr(stroka,cstr(i))
if pos>0 then
number=val(mid(stroka,pos))
Exit for'а может и не надо...
enb if
next
for n = 1 to len(s)
d= val (mid$(s,n))
if d<>0 then exit for
next n
debug.print d
function filter(byval s as string, byval f as string) as string
dim i as long, tmpStr as string
for i=1 to len(s)
tmpstr=mid$(s,i,1)
if instr(f,tmpstr) then filter=filter+tmpstr
next
end function
debug.? filter("dfgsdf04567d","0123456789.")
Насколько я понял вышеназванные коды находят только первую цифру числа, а как выдрать все число
DIM n as integer, d as duoble, s as string
s="jddjk-35.345hkjd lsa "
Debug.Print filter("dfgsdf04567d34656", "0123456789.")
Dim st As String
st = "ksjhgk -32542.25 fkgjdf"
Dim i As Integer
Dim ch As String
Dim ch2 As String
Const stroka = "1234567890"
Dim chislo As String
For i = 1 To Len(st)
ch = Mid(st, i, 1)
Select Case ch
Case "-"
ch2 = Mid(st, i + 1, 1)
If InStr(stroka, ch2) Then
chislo = chislo & Mid(st, i, 2)
i = i + 1
End If
Case "."
If i <> 1 Then
ch2 = Mid(st, i - 1, 1)
If InStr(stroka, ch2) Then
chislo = chislo & Mid(st, i, 1)
End If
End If
End Select
If InStr(stroka, ch) Then
chislo = chislo & Mid(st, i, 1)
End If
Next i
Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 75