webForumDet fria alternativet

Reguljära uttryck

.NET

10 svar · 415 visningar · startad av Nexus86

Medlem sedan okt. 20023 030 inlägg
Frågan#1

Har lagt till en referens till Microsoft VBScript Regular Expressions 1.0 och stöter på problem med följande kod:

Public Function UnUrl(sHttp As String) As String
    regexp.Pattern = "\%([a-fA-F0-9]{2})"
    regexp.Global = True
    UnUrl = regexp.Replace(sHttp, Chr(Hex2Dec("$1")))
End Function

Hex2Dec är en funktion jag gjort som gör, precis som det låter, om en hex till en siffra. Det enda kruxet är att man tydligen inte kan använda "$1" som inparameter till funktioner. Hur kommer jag förbi detta på bästa sätt?

Medlem sedan juni 20014 421 inlägg
#2

Sätta en variabel som som får samma värde som $1 borde väl fungera?

Medlem sedan okt. 20023 030 inlägg
#3

Hurdå? ;)

Medlem sedan dec. 200012 464 inlägg
#4

Du får la använda match-kollektionen

set matches = regexp.execute(sHttp)
for each m in matches
'annan bra kod (lämnas som övning till läsaren)
next
Medlem sedan juni 20022 599 inlägg
#5

http://www.webforum.nu/showthread.php?s=&threadid=70227

Ungefär samma sak fast i C#.

Medlem sedan okt. 20023 030 inlägg
#6

Det är inte min funktion det är fel på. Den fungerar om man skriver MsgBox(Hex2Dec("FF")) men det som inte fungerar är att ha med "$1" som en imparameter. Den säger inte ifrån utan $1 är det regexp.replace returnar som innehållet från det upphittade i den första parentesen. (I detta fallet den enda ;)). Men va just inne på det där LarsG skrev. Blir lite jobbigt men men sånt är livet bland programmeringsspråk.. :)

Medlem sedan juni 20022 599 inlägg
#7

Det är inte min funktion det är fel på.

Jag förstår att det inte är din funktion det är fel på. Ville bara påpeka att Nickemannen i den tråden (näst sista inlägget) gör exakt samma sak som du vill göra (sånär som på ett "="-tecken).

Medlem sedan okt. 20023 030 inlägg
#8

Ok. Såg nu. Tittade inte igenom hela hans kod helt. :r Men jag fick till det iaf.. :) Tack (även om jag löste det själv ;))!

Medlem sedan juni 20019 519 inlägg
#9

hur löste du det?

Medlem sedan okt. 20023 030 inlägg
#10

Öööh.. Bra fråga. :e

Om du behöver kod till det eller så så kan jag säkert ta reda på det inom några minuter men vet inte nu på sekunden.

Medlem sedan juni 20019 519 inlägg
258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)