Hej jag har ett lite lurigt dilemma, jag tror mig ha en aning om att använda Instrev och/eller left/right men jag har inte fått kläm på hur. <code>string=split("värdet av strängen","st ") Detta kan man lösa på flera olika sätt.Stycka upp sträng
Jag har en sträng som kommer se ut något liknande detta:
780st P504W
Vad jag vill göra är att plocka ut 780 och kalla värdet Quan och sedan få ut det som står till höger om st och blanksteg, i detta fall P504W (men detta är ett värde som ändras och inte innehåller lika många tecken varje gång) och kalla det värdet Art.
Hur går man tillväga?Sv: Stycka upp sträng
quan=string(0)
art=string(1)</code>
split() delar upp en textsträng i en array.
Koden ovan delar alltså upp texten baserat på "st ".
quan får då värdet före st och art får värdet efter st.
//JohanSv: Stycka upp sträng
Här är ett:
<code>
<%
Dim vVariant, iQuan, sArt
' == Det vi ska latja med..
vVariant = "780stP504W"
' == Plocka ut all före s'et i "st"
iQuan = Left(vVariant, InStr(vVariant, "s") - 1)
' == Plocka ut allt efter t'et i "st"
sArt = Right(vVariant, (Len(vVariant) - InStr(vVariant, "t")))
' == Kasta upp resultatet på skärmen...
Response.Write("vVariant : " & vVariant & "<BR>iQuan : " & iQuan & "<BR>sArt : " & sArt)
%>
</code>
Men! Observera att detta bara funkarerar i förutsättning att det aldrig kommer att förekomma "s" eller "t" i 'sArt'!!!
Du sätter ju ihop det nån gång, alltså "780st" och "P504W".. Sätt ihop det så det blir "780|P504W" i stället. Mindre risk att det joxar sej senare då. ;-)
Här kan du läsa mer om att mixtra med strängar: (http://www.pellesoft.se/login/articles/vb/stringguide.asp)
Lycka till!