30. april 2009 - 15:24Der er
7 kommentarer og 1 løsning
Streng manipulation ASP
Findes der en funktion, hvor man får returneret første del af en streng (varchar)?
Eks. 25 Finance and administration
Jeg vil kun have returneret "25". Hvis man bruger RIGHT ( '25 Finance and administration ', 2) så få man jo de første to tegn, men problemet er, at tallet kan variere fra 1 - 3 ciffer. Så vi skal altså se på tegn før det første mellemrum.
Ved at man i SQL kan bruge CHARINDEX men kan ikke få det til at virke i ASP
Med split-udgaven bør man nok lige lave et check på om ubound på det array som split returnerer et større end -1 inden den aflæses, ellers risikerer man en "index out of bounds" kørselsfejl.
txt = "25 Finance and administration" arr = Split(txt, " ") if ubound(arr) > -1 then tallet = arr(0) else tallet = txt end if
hvis du bruger "RIGHT ( '25 Finance and administration ', 2)" så får du altså "on" ellers er det left... men du kan lave en lille funktion, der søger på første mellemrum, og tager alt ind til da. Kald den med: Konto = GetNum("25 Finance and administration")
function GetNum(txtstr) dim pos pos = instr(txtstr," ") if pos > 0 then GetNum = left(txtstr,pos-1) else GetNum = "0" end if end function
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.