Just nu i M3-nätverket
Jump to content

ta ut en viss del ur variabel?


Badtant

Recommended Posts

hej!

 

jag har en variabel som innehåller en hel webbsida. ur denna vill jag plocka ut ett nummer.

 

här ser ni sidan:

http://w1.853.telia.com/~u85313417/variabel.html

 

ur koden där vill jag plocka ut numret ur "0 New" på första raden. alltså i detta fall "0".

hur sjutton gör jag det?

 

abservera att det även kan stå något annat nummer där.

 

hoppas någon snäll själ kan hjälpa mig med detta!

 

mvh

/niklas

Link to comment
Share on other sites

Detta är JScript, men det ser väl ungefär likadant ut i VBSctipt. Kolla manualen för funktionen match()

träff = variabel.match(/, ([0-9]+) New/i);
Response.Write(träff[1]);

 

Du använder dig av reguljära uttryck.

Dessa skrivt inom / och inte " som vanliga strängar.

Först matchar den ett komma, sedan ett mellanslag, sedan siffror 0-9 (en eller flera, det är vad +-tecknet betyder) och till sist texten " New". Det som står inom parantes blir ett värde i träff, som efter matchningen är en array, med siffran före new på plats 1. I VBScript är detta träff(1).

 

Hoppas du lyckas konvertera koden till VBscript, annars är det bara höra av dig.

 

 

 

Link to comment
Share on other sites

hmm, alltså koden som variabeln innehåller kanske är jscript men den kod jag vill skriva för att plocka ut rätt del vill jag ha i vbscript.

måste jag ändra den där kodsnutten då?

 

mvh

/niklas

 

Link to comment
Share on other sites

Tror du kan använda detta:

Trim(Mid(din-variabel,InStr(1,din-variabel,"0 New"),2))

 

Om det inte fungerar så klistra in innehållet i variabeln så blir det lättare att fixa ngt som funkar :o)

 

.::] a1 [::..........................

Det inte jag kan kan ni andra...

.::]1971[::..........................

 

 

Link to comment
Share on other sites

Jag är inte så bra på vbscript, men jag tror det ska se ut ungefär så här. Kolla vad din server säger, och rätta eventuellt till vissa rader.

<%
set re = New RegExp
re.global = false
re.ignorecase = true
re.pattern = ", ([0-9]+) New"

set variabel = "19 Message(s), 0 New"
traff = re.match(variabel)
Response.Write(traff(1))
%>

 

Använd inte förslaget nedan, tänk om du har ex. 16 meddelanden, då funkar det inte...

 

Link to comment
Share on other sites

txt1 = Mid(variabel,inStr(1,variabel,", "),6)

txt2 = Replace(variabel,",","")

txt2 = Replace(txt2,"N","")

txt2 = Replace(txt2,"e","")

txt2 = Trim(txt2)

Nu bör txt2 innehålla ditt tal.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...