---
title: "Stäng vill inte ta bort \"/\" för då funkar det inte."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/5825-stäng-vill-inte-ta-bort-för-då-funkar-det-inte"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Brimba"
published: "2000-06-13T14:51:00.000Z"
updated: "2000-06-14T08:35:00.000Z"
replies: 7
views: 214
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/5825-stäng-vill-inte-ta-bort-för-då-funkar-det-inte"
---

# Stäng vill inte ta bort "/" för då funkar det inte.

## #1 — Brimba, 2000-06-13T14:51Z

Hej!

Någon som kan lösa detta åt mig?

Låt säga att vi har detta:

```
<%
Function string(str)
pos1 = InstrRev(str,"/")
string = Mid(str, 1, pos1-1)
End Function
%>

<script>
function go(v) {
document.frm.DBro.value=v;
document.frm.submit();
}
</script>

<a href="javascript:go('<%=String(Request.Form("DBro"))%>')">Tillbaka</A>
```

Där Request.Form("DBro") innehåller "Antivirus/F-Secure"

Då bör den länken rimligtvis ta bort F-Secure samt /:en. och String skall alltså innehålla "Antivirus"

Nu är det så att man får ett felmeddelande när jag försöker detta.

```
<%
Function string(str)
pos1 = InstrRev(str,"/")
string = Mid(str, 1, pos1)
End Function
%>
```

Fungerar perfekt.

Jag har även prövat

```
<%
Function string(str)
pos1 = InstrRev(str,"/")
pos2 = Len(pos1)
String = Left(pos1, pos2-1)
End Function
%>
```

Vilket ger samma felmeddelande i princip.

Någon som har några idéer?

Tack!

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

## #2 — emission, 2000-06-13T15:57Z

Det finns redan en funktion i VBScript som heter string(), su du bör byta namn.

```
function BackString(instring)
   mpos = InStrRev(instring, "/")
   BackString=Left(instring, mpos)
end function
```

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

## #3 — Brimba, 2000-06-13T16:06Z

Hej!

Det fungerar inte fortfarande.

Jag har även provat detta

```
function BackString(instring)
If Right(instring,1) = "/" Then
mpos = InStrRev(instring, "/")
BackString = Left(instring, mpos-1)
Else
BackString = "Tjohoo"
End If
end function
```

Det lustiga är då att BackString alltid får värdet "Tjohoo".
Jag tycker att den borde ha / som sista tecken någongång, eftersom när jag skriver ut värdet av den så har den värdet "Antivirus/" och alltså borde
Right(instring,1) vara = "/", men detta är knepigt.

Några tips?

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

## #4 — emission, 2000-06-13T17:01Z

Funktionen som jag gav dig fungerar i alla fall för mig. 

bapp="Antivirus/F-Secure"
response.write BackString(bapp)

skriver ut "Antivirus"

om bapp är "Antivirus/F-Secure/" så strippas ju bara snedstrecket, så det kanske är det du råkat ut för.

```
function BackString(instring)
   mpos = InStrRev(instring, "/",-2)
   BackString = Left(instring, mpos)
end function
```

Löser antagligen det problemet.

\[Redigerat av emission den 13 jun 2000\]

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

## #5 — Brimba, 2000-06-13T17:48Z

Hmm..

Om man tänker efter lite...

Allt ligger i files.asp

När jag sedan använder mig av request.Form("DBro") så hämtar den värdet av formen, men frågan är om formen inte bör uppdateras eller att den gamla sparas i en temporär variabel.

Jag skall titta mer på detta imorgon när är lite mer klar i skallen känns det som.

Ha det bra!

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

## #6 — Brimba, 2000-06-14T08:27Z

Problemet består. :(

när jag kör med 

```
mpos = InStrRev(instring, "/",-2)
BackString = Left(instring, mpos)
```

Fungerar det inte alls.

Microsoft VBScript runtime error '800a0005' 

Invalid procedure call or argument: 'InStrRev' 

/test/files.asp, line 19 

line 19 är: mpos = InStrRev(instring, "/",-2)

Jag försökta ändra till -1 och då fungerade det, fast då var ju det naturligtvis / med. :(

Det lustiga är när jag kör

pos1 = InstrRev(instring,"/")
BackString = Mid(instring, 1, pos1-1)

Så får jag resultatet "Antivirus", men sen när jag klickar på den och skall ta fram den så får jag felmeddelandet, det måste betyda att den inte gillar antivirus eftersom den då inte innehåller någon /. Alltså kanske jag måste lägga till om den inte innehåller någon / utför inte funktionen...

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

## #7 — emission, 2000-06-14T08:32Z

Okej, då vet vi det. Negativa värden i InStrRev ger inte positionen från slutet (fastän -1 ger den sista). Dumt.

mpos = InStrRev(instring, "/",len(instring)-1)

borde ge samma resultat

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

## #8 — Brimba, 2000-06-14T08:35Z

Jupp, det var en god natts sömn som behövdes, var uppe alldeless för tidigt igår. Så hjärnan var helt låst.

Men så här blev min lösning:

```
<%
function BackString(instring)
	mpos2 = Instr(instring, "/")
		If mpos2 = 0 Then
		Else
			pos1 = InstrRev(instring,"/")
			BackString = Mid(instring, 1, pos1-1)
		End If
End Function
%>
```

Tack för alla som försökte hjälpa mig igår, det var troligtvis inte så lätt, när jag inte ens sa vad som egentligen var fel. Doh!

Ursäkta mig!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/5825-stäng-vill-inte-ta-bort-för-då-funkar-det-inte
