RegExp för att addera och subtrahera

ASP

6 svar · 225 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Trådstart#1

Jag har suttit som en dåre och försökt förstå mig på RegExp, men det går inte. Iallafall inte alla delar av det.. :e

Mitt fall:
Jag har ett bildnamn, ex IM000378.JPG som skall formateras en aning. Det jag vill få ut ur funktionen är samma bildnamn, fast ett steg högre OCH ett steg lägre.

Jag vill alltså av denna "string" ha ut exempelvis IM000379.JPG och IM000377.JPG.

Är det någon som förstår? :) ;)

Skulle uppskatta all hjälp, tack på förhand.

Medlem sedan dec. 19998 577 inlägg
#2

Du behöver bara amvända lite simpla strängfunktioner... ;)

strImg = "IM000378.JPG"
strTmp = Left(strImg,2) & Cint(Mid(strImg,3,6)) + 1 & Right(strImg,4)

Fast du kommer få problem med att nummren börjar på 000.

Medlem sedan dec. 19998 577 inlägg
#3

Gjorde en liten funktion för det :)

Function StrAdd(str,interval)
strLen = Len(str)
strTmp = Cint(str) + interval
If Len(strTmp) < strLen Then
For i = 0 To strLen - Len(strTmp)
strZero = strZero & "0"
Next
StrAdd = strZero & strTmp
Else
StrAdd = strTmp
End If
End Function

Så resten borde se ut såhär då:

strImg = "IM000378.JPG"
strTmp = Left(strImg,2) & StrAdd(Mid(strImg,3,6),1) & Right(strImg,4)
Medlem sedan feb. 200112 078 inlägg
#4

Tack!

Skall pröva det, återkommer efter test.

Medlem sedan feb. 200112 078 inlägg
#5

Rättelse efter tre gånger felskrivet..

Helt sanslöst, jag klantade till det igen! :x

Jag får ut IM0000379.JPG.. en nolla för mycket..

Medlem sedan dec. 19998 577 inlägg
#6

Det skall självklart vara en etta istället för en nolla i loopen:

For i = 1 To strLen - Len(strTmp)
Medlem sedan feb. 200112 078 inlägg
#7

Tack!

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