---
title: "Del av variabel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/12238-del-av-variabel"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "bagera"
published: "2001-10-19T09:21:00.000Z"
updated: "2001-10-23T10:53:00.000Z"
replies: 19
views: 270
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/12238-del-av-variabel"
---

# Del av variabel

## #1 — bagera, 2001-10-19T09:21Z

Kan man hämta ut delar av text från en variabel?

om texten ser ut så här:

kalle tittar \[hej\] på tv \[hoj\] och är glad

 och jag vill hämta bara "på tv", går det?

Permalänk: https://www.webforum.nu/p/12238

## #2 — Rinaldo, 2001-10-19T09:43Z

visst går det

```
<%
dim string
string = "kalle tittar [hej] på tv [hoj] och är glad"
omgjord = Mid(string,23,3)
Response.write omgjord
%>
```

Permalänk: https://www.webforum.nu/p/292692

## #3 — bagera, 2001-10-19T10:03Z

Om jag inte vet värdet i variabeln då?
vad det än står i variablen så vill jag plocka ut allt mellan \[hej\] och \[hoj\].

Permalänk: https://www.webforum.nu/p/292693

## #4 — jorgen, 2001-10-19T11:04Z

Hej!

Du kan använda split() om du har en känd avgränsare. 

mvh Jörgen :)

Permalänk: https://www.webforum.nu/p/292694

## #5 — Vide, 2001-10-19T11:06Z

Du får helt enkelt använda dig utav Regular Expression för detta.

Permalänk: https://www.webforum.nu/p/292695

## #6 — bagera, 2001-10-19T13:25Z

jag har tittat lite på split men regular expression verkar roligare :)

än så länge har jag:

```
<%
strTarget = "test testing testar [hej] testo testi [hoj]"

set objRegExp = New RegExp
objRegExp.Pattern = "[hej] *"
objRegExp.IgnoreCase = false
objRegExp.Global = true
set colMatches = objRegExp.execute(strTarget)

for each Match in colMatches

response.write "funnen på " & Match.FirstIndex & ". "
response.write "värdet är '" & Match.value & "'.<br>"
next 
%>
```

och får ut:

Match.FirstIndex
Match.value 

men hur kan jag göra texten emellan till en variabel?

Permalänk: https://www.webforum.nu/p/292696

## #7 — bagera, 2001-10-22T16:02Z

Börjar haja lite här nu men det funkar ju inte.
Ska inte regular expression funka i vb5.0?
Är det nåt fel på detta?

```
<%
hej ="[hej]www.hej.se[/hej] fgdfgdfg dfg df gdfg"

Function hejpryl(text)
Dim objRegExp	
Set objRegExp = New RegExp	
objRegExp.Pattern = "\[hej=(.*?)\](.*?)\[\/hej\]"	
objRegExp.IgnoreCase = True	
objRegExp.Global = True	
hejpryl= objRegExp.Replace(text,"<a href=$1>$2</a>") 
Set objRegExp = Nothing
hejpryl = text
End Function
%>
<%=hejpryl(hej)%>
```

Permalänk: https://www.webforum.nu/p/292697

## #8 — Vide, 2001-10-22T16:06Z

Vad är det som blir fel? Felmeddelande?

Permalänk: https://www.webforum.nu/p/292698

## #9 — bagera, 2001-10-22T16:10Z

Så här ser det ut

ASPError.ASPCode = 
ASPError.Number = -2146823270 (0x800A139A )
ASPError.Source = 
ASPError.Category = Microsoft VBScript runtime 
ASPError.File = /Forum/test/test7.asp
ASPError.Line = 9
ASPError.Column = -1
ASPError.Description = Unexpected quantifier

Permalänk: https://www.webforum.nu/p/292699

## #10 — Vide, 2001-10-22T16:36Z

Det är lite olika syntax mellan de olika vbs-versionerna, testa att uppgradera till 5.5 eller 5.6.

Permalänk: https://www.webforum.nu/p/292700

## #11 — bagera, 2001-10-22T16:38Z

Har letat som en galning efter 5.5 men kan inte hitta den.
någon som vet var? 
microsofts djungel knäckte mig idag :(

Permalänk: https://www.webforum.nu/p/292701

## #12 — @nders, 2001-10-22T16:53Z

<http://www.microsoft.com/msdownload/vbscript/scripting.asp> 

Mvh,

Permalänk: https://www.webforum.nu/p/292702

## #13 — bagera, 2001-10-23T08:50Z

Har läst en hel del nu och provat hur mycket som helst det funkar bättre nu efter uppgradering till 5.5 (tack!!), men jag kan tametusan inte begripa det endå.

kan någon förklara för mig hur man får ut värdet mellan \[hej\] och \[/hej\].
har pulat med olika patterns hela natten.

jag har kommit så långt att jag kan replacea \[hej\] och \[/hej\] men jag vill ju ha med det emellan också.
och vad är det som gör värdet till en
$1 eller $2?

Permalänk: https://www.webforum.nu/p/292703

## #14 — Jojo, 2001-10-23T09:29Z

Så här kanske:

Dim intStartPos, intEndPos, strTemp, strResult
strTemp = "\[hej\]text mellan taggar\[/hej\]"
intStartPos = inStr(1, strTemp, "\[hej\]")
intEndPos = inStr(1, strTemp, "\[/hej\]")
strResult = mid(strTemp, intStartPos+5, intEndPos-(intStartPos+5))

Response.Write(strResult)

//Micke

Permalänk: https://www.webforum.nu/p/292704

## #15 — bagera, 2001-10-23T10:00Z

ja det funkar ju men jag vill kunna göra ett pattern som gör samma sak :)

så här:

```
Set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.Pattern = "\[url=(.*?)\](.*?)\[\/url\]"
parser = re.Replace(parser,"<a href=$1>$2</a>")
```

men den här funkar inte, å jag förstår inte riktigt vad som händer trots vides exelenta artikel.

Permalänk: https://www.webforum.nu/p/292705

## #16 — Jojo, 2001-10-23T10:25Z

Vad den gör är att den tar den text som finns i start taggen och stoppar i href. Sedan tar den den text som finns mellan taggarna och stoppar i a-taggen.

Lite mer komplett blir det såhär:

Set re = New RegExp
parser = "[kalle](http://www.kalle.com)"
re.Global = True
re.IgnoreCase = True
re.Pattern = "\\(.\*?)\\\[\\/url\\\]"
parser = re.Replace(parser,"\<a href=$1\>$2\</a\>")
Response.Write(parser)

//Micke

Permalänk: https://www.webforum.nu/p/292706

## #17 — Jojo, 2001-10-23T10:26Z

Oops, så här blir bättre:

```
Set re = New RegExp
parser = "[url="http://www.kalle.com"]kalle[/url]"
re.Global = True
re.IgnoreCase = True
re.Pattern = "\[url=(.*?)\](.*?)\[\/url\]"
parser = re.Replace(parser,"<a href=$1>$2</a>")
Response.Write(parser)
```

//Micke

Permalänk: https://www.webforum.nu/p/292707

## #18 — Jojo, 2001-10-23T10:27Z

Tredje gången gillt:

```
Set re = New RegExp
parser = "[url="http://www.kalle.com"]kalle[/url]"
re.Global = True
re.IgnoreCase = True
re.Pattern = "\[url=(.*?)\](.*?)\[\/url\]"
parser = re.Replace(parser,"<a href=$1>$2</a>")
Response.Write(parser)
```

:-)

Permalänk: https://www.webforum.nu/p/292708

## #19 — Jojo, 2001-10-23T10:31Z

Äsch, kolla \<A HREF="http://bulow.darktech.org/test.asp"" TARGET=\_blank\>här\</A\> istället.

Permalänk: https://www.webforum.nu/p/292709

## #20 — bagera, 2001-10-23T10:53Z

Nu släppte det :)

så här ville jag ju ha det!!

```
<%
texten = "[*url]www.kalle.com[/url*]"
```

(utan stjärnor naturligtvis ;)

```
function pars(parser)
Set parsing = New RegExp
parsing.Global = True
parsing.IgnoreCase = True
parsing.Pattern = "\[url\](.*?)\[\/url\]"
parser = parsing.Replace(parser,"<a href=$1>$1</a>")
pars = parser
end function
%>
<%=pars(texten)%>
```

Tackar alla för hjälpen!!

Permalänk: https://www.webforum.nu/p/292710

---

Tråden på webben: https://www.webforum.nu/amne/asp/12238-del-av-variabel
