webForumDet fria alternativet

Split

9 svar · 326 visningar · startad av SannyW

SannyWMedlem sedan jan. 2003447 inlägg
#1

Hej,

Jag är inne och snurrar med RegExp, Split()

Får inte ihop det.

strResultat = Request.Querystring("resultat")

ger mig resultatet 3-2SD

vill då få fram

resultat = 3-2 SD (alltså lägga till   mellan 3-2 och SD)
sudden = SD (om nu SD finns efter siffrorna)
homegoals = 3
awaygoals = 2

För att sedan stoppa in i tabell, typ:

If sudden = "SD" AND cInt( homegoals ) = cInt( awaygoals ) THEN
	SQL = "Update tbl SET spelade=spelade+1, poang=poang+1, lika=lika+1  WHERE lag = '"&awayteam&"' or lag = '"&hometeam&"'"

Kunde väl använda Split

Split(strResultat, "-")
homegoals = myarray(0)

Men om jag använder split vid SD så blir det 2SD, frågan är om man kan splita vid (-) och binda upp nummer före till homegoals och nummer efter till awaygoals.

Hoppas någon kan förstå vad jag menar.

@ndersMedlem sedan juni 200026 914 inlägg
#2

Jag förstår inte varför du ska skicka "SD" i resultat-querystringen. Skicka det som en egen querystring i stället.

SannyWMedlem sedan jan. 2003447 inlägg
#3

Min array blir så då jag hämtar informationen med hjälp av XMLHTTP. Den blir att resultat kan se ut typ: 3-2 el. 2-3 el. 2-2SD el. 3-2SD el. 2-3SD

Annars hade jag ju skickat en separat querystring, men nu måste jag "söka" och förändra den istället.

jonnyzMedlem sedan okt. 2004504 inlägg
#4

Problemet löst :)

strResultat = Request.Querystring("resultat")

sudden=false
If inStr(strResultat, "SD")>0 Then 
   sudden=true
   strResultat=Left(strResultat, Len(strResultat)-2)
End If

homegoals=Left(strResultat, inStr(strResultat, "-")-1)
awaygoals=Right(strResultat, inStr(strResultat,"-")-1)

Response.Write "home: " & homegoals & ", away: " & awaygoals & ", sudden:" & sudden
SannyWMedlem sedan jan. 2003447 inlägg
#5

Tack Jonnyz, du gav mig en knuff i rätt riktning. Tror jag ändrat och fått fram hur jag vill ha det. Kanske inte 100%-igt, men det få framtiden utvisa. Slänger in uppdateringen så länge, så kan någon skrika om det är helt uppåt väggarna.

IF inStr(strResultat, "SD")>0 Then 
myarray = Split(rResultat, "-")
homegoals = myarray(0)
tempawaygoals = myarray(1)
tempmyarray = Split(tempawaygoals, "SD")
awaygoals = tempmyarray(0)
sudden = "SD"

strResult2 = ((homegoals)&"-"&(awaygoals)&" "&(sudden))
Response.Write (strResult2)

ELSE
myarray = Split(rResultat, "-")
homegoals = myarray(0)
awaygoals = myarray(1)
Response.Write (homegoals)
Response.Write "-"
Response.Write (awaygoals)
Response.Write "*"
END IF
PoffeMedlem sedan apr. 20022 935 inlägg
#6

Varför inte bara använda jonnyz exempel då? Den gör ju sammasak fast med mindre kod..

För att den ska skriva ut som du vill andrar du bara så här:

If inStr(strResultat, "SD")>0 Then 
   sudden="SD"
   strResultat=Left(strResultat, Len(strResultat)-2)
Else
   sudden = "*"
End If

homegoals=Left(strResultat, inStr(strResultat, "-")-1)
awaygoals=Right(strResultat, inStr(strResultat,"-")-1)

Response.Write homegoals & "-" & awaygoals & " " & sudden
SannyWMedlem sedan jan. 2003447 inlägg
#7

Jag fick det inte till att fungera, när jag körde den koden så fick jag problem vid tiotal. då blev det minus -2 istället för 2. Det är inte bra.

jonnyzMedlem sedan okt. 2004504 inlägg
#8

Vad hade du för indata när du fick problem?

PoffeMedlem sedan apr. 20022 935 inlägg
#9

Denna då:

If Right(strResultat, 2) = "SD" Then 
   sudden="SD"
   strResultat=Left(strResultat, Len(strResultat)-2)
Else
   sudden = "*"
End If

tmpVar = Split(strResultat, "-")
homegoals=tmpVar(0)
awaygoals=tmpVar(1)

Response.Write homegoals & "-" & awaygoals & " " & sudden
SannyWMedlem sedan jan. 2003447 inlägg
#10

Indatan var 11-2, vilket gav mig homegoals = 11 och awaygoals = -2

Har snyggat till det som jag tidigare skrev som funkar:

strResultat = (rResultat)

IF inStr(strResultat, "SD")>0 Then 
myarray = Split(rResultat, "-")
homegoals = myarray(0)
tempawaygoals = myarray(1)
tempmyarray = Split(tempawaygoals, "SD")
awaygoals = tempmyarray(0)
sudden = "SD"

ELSE
myarray = Split(rResultat, "-")
homegoals = myarray(0)
awaygoals = myarray(1)
END IF

Response.redirect "update.asp?matchnr=" & rId & "&homegoals=" & homegoals & "&awaygoals=" & awaygoals & "&sudden=" & sudden & ""

Skall testa Poffe´s förslag också. Ser ju lite snyggare ut också :)

/r Har testat Mr Poffe´s förslag nu, funkar riktigt bra!!

Tack för hjälpen

Genererad på 387 ms · cache AV · v20260730165559-full.f96bc7eb