02. december 2005 - 12:27Der 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....?
Udfordringerne hober sig op i fødevare- og drikkevareindustrien og gør den til en af de mest sårbare.
24. oktober 2024
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
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.
Synes godt om
Ny brugerNybegynder
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.