Avatar billede joki Mester
26. juni 2008 - 15:26 Der er 3 kommentarer og
1 løsning

Returnere alle tal fra en streng

Hej

Er der en som har et udtryk som returnere alle tal (0-9 ) ud af en tekst streng f.eks. xx-1544799797 returnere 1544799797
Gerne til vba
Avatar billede kabbak Professor
26. juni 2008 - 15:41 #1
Hvis der altid er bindestreg før tallet, så

Tal = split(streng,"-")(1)
Avatar billede joki Mester
26. juni 2008 - 15:54 #2
det kan man desværre ikke regne med tror jeg har brug for noget reg exp
Avatar billede gizmo-gizmo Nybegynder
26. juni 2008 - 16:32 #3
Jeg ved ikke med VBA, men i php kan man sige:

$string = "test123test123test";
$numbers = implode(preg_split("/[^0-9]+/", $string));

Den splitter ved alle andre substrings end tal, og samler arrayet igen bagefter.

Men jeg ville nok ikke bruge regex til sådan en simpel opgave. En simpel iterativ løsning er _meget_ hurtigere:

for($i=0; $i<strlen($string); $i++)
{
  if (is_numeric($string[$i]))
    $result .= $string[$i];
}

Det kan sikkert sagtens omskrives til VBA.
Avatar billede roenving Novice
27. juni 2008 - 00:58 #4
/[^\d](\d+)[^\d]/g
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