Avatar billede power_t Nybegynder
02. december 2005 - 12:27 Der er 1 kommentar og
1 løsning

Regular expressions

Jeg har en database med telefonnumre, hvor der desværre ikke er overensstemmelse i formatet, de er indtastet i, f.eks.

+45 33445566
+453344556
+45 3344 5566
osv..

Nogle har endda tekst i felterne også..

Jeg har v.hj.a. Regexp fjernet mellemrum og evt. tekst, og står så tilbage med en streng uden mellemrum overhovedet.
Hvis jer gerne vil indsætte mellemrum igen f.eks. efter hvert  andet nummer, hvorledes gør jeg så lige det....?
Avatar billede Slettet bruger
03. december 2005 - 07:19 #1
Gør det uden RegExp.

Herunder er en funktion, som formatere ved at indsætte et mellemrum efter hver anden numeriske karakter. Den fjerner også alle andre tegn end + så du burde kunne anvende den på dine oprindelige data. Hvis du heller ikke er interesseret i + så fjerner du blot den else der er på isnumeric testen.

Function formatPhone(strRawPhone)
    Dim iChar
    Dim currentChar
    Dim strPhoneFormatted
    Dim nNumerics

    nNumerics = 0
    For iChar = 1 to Len(strRawPhone)
        currentChar = Mid(strRawPhone, iChar, 1)
        If IsNumeric(currentChar) Then
            strPhoneFormatted = strPhoneFormatted & currentChar
            nNumerics = nNumerics + 1
            If 2 = nNumerics Then
                strPhoneFormatted = strPhoneFormatted & " "
                nNumerics = 0
            End If
        Else
            If "+" = currentChar Then
                strPhoneFormatted = strPhoneFormatted & currentChar
            End If
        End if
    Next

    formatPhone = trim(strPhoneFormatted)
End Function
Avatar billede power_t Nybegynder
05. december 2005 - 11:15 #2
Joeh. det virker, men jeg skulle egentlig bruge noget med regular expression, da den skulle kunne noget mere end dette. Men pyt. jeg tweaker lidt på koden, og så går den.
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