[ Zidar @ 08.04.2009. 21:48 ] @
Ima li neko funkciju ili nesto sto izvlaci brojeve iz teksta: Code: I have I want --------------------------------- 'Text blah blah 32 blah' 32 'Abcde 598 ---' 598 |
[ Zidar @ 08.04.2009. 21:48 ] @
[ domaci_a_nas @ 08.04.2009. 23:34 ] @
Is this what you want?
![]() Code: Za tekst od jedan kb joj treba oko 6 hiljaditinki, možda sam se malo zaneo, ali eto, radi. Nisam baš morao da vodim računa i o decimalnim zarezima i koji je u okviru broja a koji nije, ali eto za mog druga Zidara da se uradi kako valja Public Function IzvuciBrojeve(strKojiTekst As String) As String Dim I As Integer Dim strSlovo As String Dim bytCode As String Dim blnUbaciSpace As Boolean Dim blnUbaciZarez As Boolean Dim strDecimala As String blnUbaciZarez = True For I = 1 To Len(strKojiTekst) strSlovo = Mid(strKojiTekst, I, 1) If InStr(1, "0123456789", strSlovo) > 0 Then IzvuciBrojeve = IzvuciBrojeve & strDecimala & strSlovo strDecimala = "" blnUbaciSpace = True GoTo NextI End If If (strSlovo = "," Or strSlovo = ".") And blnUbaciSpace Then If blnUbaciZarez = False Then GoTo NextI blnUbaciZarez = False strDecimala = strSlovo GoTo NextI End If If Asc(strSlovo) = 13 Then IzvuciBrojeve = IzvuciBrojeve & vbCrLf blnUbaciSpace = False GoTo NextI End If If blnUbaciSpace Then blnUbaciZarez = True strDecimala = "" IzvuciBrojeve = IzvuciBrojeve & " " blnUbaciSpace = False End If NextI: Next I IzvuciBrojeve = RTrim(IzvuciBrojeve) End Function ![]() Primer: Code: ? IzvuciBrojeve ("Zdravo draga, zovi me na broj .123..45.67 pre podne, a uveče na 1234") Rezultat: Code: 123.4567 1234 [ Zidar @ 09.04.2009. 14:53 ] @
Hvala
![]() [ Zidar @ 09.04.2009. 15:10 ] @
Ima jedan problem. Ako su briojevi negativni, ne izvlaci minus. Ono sto meni treba i nema negativnih brojeva, ali ima smisla poboljsati funkciju. Inace radi brzo, mnogo brze nego sto bi covek ocekivao. Vidi zakaceni primer, kveri na tabeli od 10,000 redova izvrsio se trenutno.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|