Avatar billede mikze Nybegynder
06. juni 2006 - 19:38 Der er 3 kommentarer og
2 løsninger

fjerne alt i en streng udover tallene

hej hvis jeg har en streng som følgende:


test = "#¤(!"#654!#35!#"/6 "

Hvordan fjerner jeg så alt udover tallene?

den skal også virke selvom strengen fx er: "&&&109/&%" eller hvad som helst, altså kun finde tallene.
Avatar billede thomaxz Nybegynder
06. juni 2006 - 19:49 #1
Ved at tænke lidt kreativ og lave en funktion som jeg har gjort.

Function NumberOnly(Str As String) As Long
    Dim xtel As Long
    Dim strR As String
    For xtel = 1 To Len(Str)
        If IsNumeric(Mid$(Str, xtel, 1)) = True Then
          strR = strR & Mid$(Str, xtel, 1)
        End If
    Next xtel
    NumberOnly = Val(strR)
End Function

denn funktion fjerne alt andet en tal, denne sætte tallene sammen til et tal, og retunere det som en long værdi. du kan selfølgi ændre dette hvis du har brug for andet.

her et lille eks.

denn knap, vil lave resulatte af dine to ekspempler.

Private Sub Command1_Click()
Dim strA As String
Dim strb As String

strA = "#¤(!""#654!#35!#""/6 "
strb = "&&&109/&%"

MsgBox strA
MsgBox strb

MsgBox NumberOnly(strA)
MsgBox NumberOnly(strb)
End Sub

-Thomas
Avatar billede sjh Nybegynder
06. juni 2006 - 19:56 #2
Option Explicit

Private Sub Form_Load()
  Me.Caption = TrimTegn("#¤(!#654!#35!#/6 &&&109/&%")
End Sub

Public Function TrimTegn(strText As String) As Variant
Dim i As Long
Dim strOne As String
Dim strOut As String
  For i = 1 To Len(strText)
    strOne = Mid$(strText, i, 1)
    Select Case strOne
          Case 0 To 9
            strOut = (strOut & strOne)
    End Select
  Next
  TrimTegn = strOut
End Function
Avatar billede nielle Nybegynder
06. juni 2006 - 20:10 #3
Godt nok BB.Net, men mon ikke det kan tilpasses relativt nemt til VB?

        Dim test = "#¤(!#654!#35!#/6 "

        Dim re As Regex = New Regex("[^0-9]")
        test = re.Replace(test, "")

        Console.WriteLine(test)
Avatar billede mikze Nybegynder
06. juni 2006 - 20:41 #4
ved ikke nielle :), men de andres virker fint :-) .. takker for hjælpen
Avatar billede nielle Nybegynder
06. juni 2006 - 20:42 #5
No prob :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester