webForumDet fria alternativet

RegExp som jag absolut inte kan

ASP

4 svar · 226 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Frågan#1

Jag kan för mitt liv inte få igång detta script. Jag skall ersätta xxx i strängen med antingen doc, asp eller txt, beroende på vad regexp hittar. Hittar den txt, skall givetvis xxx ersättas med txt.

Nån som fattar.. jag kanske är helt fel ut med RegExp (som vanligt) men här är iaf koden:

strFileName = "img_xxx.gif"
Set objRegExp = New regexp
objRegExp.Global = False
objRegExp.IgnoreCase = False
objRegExp.Pattern = "(txt|doc|asp)"
Set strTraffar = objRegExp.Execute(strFileName)

For each item in strTraffar
	strReplace = item.Value
	strFileName = objRegExp.Replace(strFileName, strReplace)
	response.write strFileName
Next

------------------
Jag är skum

Medlem sedan dec. 200012 464 inlägg
#2

Jag förstår inte.

beroende på vad regexp hittar

Vad menar du med det?

När skall den översätta till respektive?

Kan du ge något exempel med en sträng och vad du förväntar dig för resultat?

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 19 nov 2001]

Medlem sedan feb. 200112 078 inlägg
#3

Hittar den txt, skall givetvis xxx ersättas med txt.

Alltså, jag menar att strängen img_xxx.gif skall förändras till nåt annat beroende på vad det är för innehåll i filnamnet som jag hämtar med FSO ett steg tidigare på sidan.

1. Jag scannar filnamnet efter ett antal kriterier (doc, asp, txt, xls, pdf osv)
2. Ifall filnamnet innehåller något av dessa (vi ponerar att den innehåller pdf) skall strängen img_xxx.gif ändras (lämpligtvis med replace ;)) till img_pdf.gif.
3. Strängen använder jag sedan för att visa en bild som visar en bild på en liten pdf-fil så att användaren kanske känner igen sig som i windows.

Förstår du nu? ;)

------------------
Jag är skum

Medlem sedan dec. 200012 464 inlägg
#4

Kanske, det som förvirrade mig var att du använde

Set strTraffar = objRegExp.Execute(strFileName)

som aldrig någonsin kommer att ge någon träff.

Säg att filnamnet finns i variabeln f

Set objRegExp = New regexp
objRegExp.Global = False
objRegExp.IgnoreCase = False
objRegExp.Pattern = "(txt|doc|asp)"
Set strTraffar = objRegExp.Execute(f)

For each item in strTraffar
response.write "img_" & item.value & ".gif"
Next

------------------
essentitia preter non sans multiplicandum

Medlem sedan feb. 200112 078 inlägg
#5

Som vanligt hade jag ju krånglat till det lite väl mycket där va.. ;) Anledning >

Jag skall testa det imorgon, sitter lite illa till just nu. :)

------------------
Jag är skum

[Redigerat av OveRRidE den 20 nov 2001]

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)