---
title: "Ta bort värde från en QueryString?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/6591-ta-bort-värde-från-en-querystring"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "toha"
published: "2000-09-13T11:35:00.000Z"
updated: "2000-09-14T15:41:00.000Z"
replies: 6
views: 252
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/6591-ta-bort-värde-från-en-querystring"
---

# Ta bort värde från en QueryString?

## #1 — toha, 2000-09-13T11:35Z

Jag har en sträng som ser ut som en querystring. Ex:

pagesize=20&orderby=s_enamn_1+desc&page=19

Hur gör jag enklast för att plocka bort ett "objekt" i strängen? Om jag vill plocka bort "orderby" så skall jag få ut strängen:

pagesize=20&page=19

Nån som har en smart lösning?

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

## #2 — Vide, 2000-09-13T11:37Z

Varför skickar du med den överhuvudtaget om du inte skall använda den?

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

## #3 — toha, 2000-09-13T11:52Z

QS är till för att visa resultat i en resultattabell där kolumnhuvudena skall fungera som sorteringslänkar till samma sida. Så första gången har jag strängen:

pagesize=20&page=19

Och vid varje kolumnhuvud så lägger jag till en variabel så att asp-koden blir:

\<a href="s1b.asp?\<%= Request.QueryString & "&orderby=s_enamn_1" %\>"\>Efternamn\</a\>

Så efter man man har klickar på länken två gånger så blir querystringen:

pagesize=20&page=19&orderby=s_enamn_1&orderby=s_enamn_1

Dessutom är det flera QS-variabler som det kan bli så på. Men jag antar att jag får köra en InStr() på de och ta bort allt till slutet på strängen för varje variabel.

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

## #4 — emission, 2000-09-13T13:52Z

```
pos=instr(strängen,"orderby=")
pos2=instr(strängen,"&",pos)
if pos2=0 then
   strängen=left(strängen,pos-1)
else
   strängen=left(strängen,pos-1) & mid(strängen,pos2)
end if
```

Typ...kan ha blivit lite snett

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

## #5 — toha, 2000-09-14T10:06Z

Tack för svaret Emission, men jag gjorde en förbättrad version som använder sig av RegExp-objektet.

```

Function DeleteQSVariable(ByVal sQueryString, ByVal sVarName)

	Dim oRegExp
	Dim nLength
	Dim i

	Set oRegExp = New RegExp
		oRegExp.IgnoreCase = True
		oRegExp.Global = True
		oRegExp.Pattern = "&" & sVarName & "=.*&"
		sQueryString = oRegExp.Replace(sQueryString, "&")
		oRegExp.Pattern = "&" & sVarName & "=.*$"
		sQueryString = oRegExp.Replace(sQueryString, "")
		oRegExp.Pattern = "\?" & sVarName & "=.*&"
		sQueryString = oRegExp.Replace(sQueryString, "?")
		oRegExp.Pattern = "\?" & sVarName & "=.*$"
		sQueryString = oRegExp.Replace(sQueryString, "")
	Set oRegExp = Nothing

	DeleteQSVariable = sQueryString

End Function
```

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

## #6 — nilzzon, 2000-09-14T15:09Z

Varför kollar du inte bara om din ordersvariabel är satt, och om den är det behöver du inte lägga till en ny?

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

## #7 — toha, 2000-09-14T15:41Z

Kan inte. Det skall vara olika orderby för olika länkar.

Har förbättrat funktionen:

```

Function DeleteQueryVariable(ByVal sQuery, ByVal sVarName)

	Dim oRegExp

	sQuery = htmlDecodeJS(sQuery)
	sVarName = Replace(sVarName, "&#0124;", "\&#0124;")

	Set oRegExp = New RegExp
		oRegExp.IgnoreCase = True
		oRegExp.Global = True
		oRegExp.Pattern = "(&&#0124;^)" & sVarName & "=[^$&]*"
		sQuery = oRegExp.Replace(sQuery, "")

		If Mid(sQuery, Len(sQuery)) = "&" then
			sQuery = Left(sQuery, Len(sQuery)-1)
		End if
		If Left(sQuery, 1) = "&" then
			sQuery = Right(sQuery, Len(sQuery)-1)
		End if
	Set oRegExp = Nothing

	DeleteQueryVariable = sQuery

End Function
```

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/6591-ta-bort-värde-från-en-querystring
