Just nu i M3-nätverket
Gå till innehåll

ta ut en viss del ur variabel?


Badtant

Rekommendera Poster

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

Länk till kommentar
Dela på andra webbplatser

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.

 

 

 

Länk till kommentar
Dela på andra webbplatser

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

 

Länk till kommentar
Dela på andra webbplatser

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[::..........................

 

 

Länk till kommentar
Dela på andra webbplatser

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...

 

Länk till kommentar
Dela på andra webbplatser

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.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...