webForumDet fria alternativet

Funktion som plockar ut tal

ASP

4 svar · 561 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Frågan#1

Hej,

Jag har en sträng som tex. innehåller:

[1234 Foo]

Hur gör man bäst en funktion som bara plockar ut det numeriska värdet OM

* Det finns hakparanteser runt strängen

* Talet ligger direkt efter första hakparantesen

I övrigt skja den returnera "" (tom sträng)

Dvs

[1234 weee returnerar ""
[1234 wooo 123] returnerar 1234
1234 bar returnerar ""

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#2
function GetNumericalPart(str)
  dim re, result
  set re = new regexp
  re.pattern = "\[(\d+)[^\]]*\]"
  if re.test(str) then
    set m = re.execute(str)
    result = m(0).submatches(0)
  else
    result = ""
  end if
  GetNumericalPart = result
end function
Medlem sedan jan. 20013 582 inlägg
#3

Perfa! (y)

Mvh
Henrik

Medlem sedan jan. 20013 582 inlägg
#4

Hur skulle man kunna modifiera den funktionen, att bara ta det som står innanför hakparanteserna?

Dvs

Ev lite text[text som skall lyftas ut]ev lite text till

skall returnera:

text som skall lyftas ut

Mvh
Henrik

Medlem sedan dec. 20025 483 inlägg
#5
function GetBracketedPart(str)
  dim re, result
  set re = new regexp
  re.pattern = "\[([^\]]+)\]"
  if re.test(str) then
    set m = re.execute(str)
    result = m(0).submatches(0)
  else
    result = ""
  end if
  GetBracketedPart = result
end function
256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)