webForumDet fria alternativet

replace-funktion-problem

ASP

4 svar · 418 visningar · startad av brorsan

Medlem sedan nov. 2001402 inlägg
Frågan#1

Blir galen, den här replace-funktionen fungerar jättebra...

Function blablaURL(str)
	Dim objRegExp, strTemp
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	objRegExp.Pattern = "(skate.nu)"
	strTemp = objRegExp.replace(str, "skate.nu/skateboard")
	blablaURL = Replace(strTemp, "skateboard/images","/images")
	blablaURL = Replace(strTemp, "/skateboard/skateboard","/skateboard")
	Set objRegExp = Nothing
End Function

men när jag lägger till de här två raderna på slutet så sker de inte alls, precis som om jag inte lagt till dem..

Function blablaURL(str)
	Dim objRegExp, strTemp
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	objRegExp.Pattern = "(skate.nu)"
	strTemp = objRegExp.replace(str, "skate.nu/skateboard")
	blablaURL = Replace(strTemp, "skateboard/images","/images")
	blablaURL = Replace(strTemp, "/skateboard/skateboard","/skateboard")
	blablaURL = Replace(strTemp, " skate.nu/skateboard"," skate.nu")
	blablaURL = Replace(strTemp, "@skate.nu/skateboard","@skate.nu")
	Set objRegExp = Nothing
End Function

Nån som fattar vad problemet är?

Medlem sedan nov. 20051 317 inlägg
#2
Function blablaURL(str)
	Dim objRegExp, strTemp
	Set objRegExp = New RegExp
	objRegExp.IgnoreCase = True
	objRegExp.Global = True
	objRegExp.Pattern = "(skate.nu)"
	strTemp = objRegExp.replace(str, "skate.nu/skateboard")
	blablaURL = Replace(strTemp, "skateboard/images","/images")
	blablaURL = Replace(blablaURL, "/skateboard/skateboard","/skateboard")
	blablaURL = Replace(blablaURL, " skate.nu/skateboard"," skate.nu")
	blablaURL = Replace(blablaURL, "@skate.nu/skateboard","@skate.nu")
	Set objRegExp = Nothing
End Function

Är det inte så där du måste göra för att det ska funka?

Medlem sedan nov. 2001402 inlägg
#3

är den inte identisk med min? vad har du ändrat annars?

Medlem sedan juni 20003 076 inlägg
#4

Skillnaden är att olika variablar används i replacen.
Jag kan också tycka att eftersom du har en lokal variabel, använd den hela vägen till slutet och inte använda funktionsnamnet förrän i slutet!

strTemp = objRegExp.replace(str, "skate.nu/skateboard")
strTemp = Replace(strTemp, "skateboard/images","/images")
strTemp = Replace(strTemp, "/skateboard/skateboard","/skateboard")
strTemp = Replace(strTemp, " skate.nu/skateboard"," skate.nu")
blablaURL = Replace(strTemp, "@skate.nu/skateboard","@skate.nu")
Medlem sedan nov. 2001402 inlägg
#5

ahaa, då fattar jag, det missade jag och ja verkar ju rimligt att bara byta ut på slutet.

funkade finfint, tackar.

245 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)