Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

izvlacenje brojeva iz teksta

[es] :: Access :: izvlacenje brojeva iz teksta

[ Pregleda: 2607 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon izvlacenje brojeva iz teksta08.04.2009. u 21:48 - pre 183 meseci
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

 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.rs.



+8 Profil

icon Re: izvlacenje brojeva iz teksta08.04.2009. u 23:34 - pre 183 meseci
Is this what you want?
Code:
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
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 Radi i sa multiline tekstom i razdvaja dva broja koja prepozna sa space...

Primer:
Code:
? IzvuciBrojeve ("Zdravo draga, zovi me na broj .123..45.67 pre podne, a uveče na 1234")

Rezultat:
Code:
123.4567 1234


Ozbiljan i odgovoran mladić
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: izvlacenje brojeva iz teksta09.04.2009. u 14:53 - pre 183 meseci
Hvala
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.100.46-69.q9.net.



+79 Profil

icon Re: izvlacenje brojeva iz teksta09.04.2009. u 15:10 - pre 183 meseci
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.
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Access :: izvlacenje brojeva iz teksta

[ Pregleda: 2607 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.