Avatar billede jensen79 Nybegynder
18. juli 2005 - 17:59 Der er 14 kommentarer og
1 løsning

Tjeck de 2 sidste tal i et ord.

Hvordan finder jeg de 2 sidste tal/bogstaver før punktumet i et ord?

F.eks.: testbilled12.jpg

Således at der udskrives 12

Takker
Avatar billede nielle Nybegynder
18. juli 2005 - 18:43 #1
dim str = "testbilled12.jpg"

dim regEx
Set regEx = New RegExp
regEx.Pattern = "^.*?(\d*)\.jpg$"
regEx.IgnoreCase = True
Set Matches = regEx.Execute(str)

For Each Match in Matches
    Response.Write Match.Value
Next
Avatar billede busschou Praktikant
18. juli 2005 - 19:01 #2
eller
<%
fil = "billede12.jpg"
tal = Mid(fil,Len(fil)-5,2)
response.write tal
%>
Avatar billede busschou Praktikant
18. juli 2005 - 19:02 #3
men det gælder selvfølgelig kun i det tilfælde af at ordet slutter med tre bogstaver efter punktummet som i fil navne
Avatar billede ksoren Nybegynder
18. juli 2005 - 19:12 #4
Denne gælder uanset extension, og ignorer andre punktumer der måtte være


str = "billed12.jpg"

Set re = New RegExp
re.Pattern = "(\d+)\.[^.]*$"
Set m = re.Execute(str)

If m.Count Then
    Response.Write "Taller er: " & m(0).SubMatches(0)
Else
    Response.Write "ingen tal for sidste punktum"   
End If
Avatar billede busschou Praktikant
18. juli 2005 - 19:14 #5
nielle >> når jeg prøver din så skriver den hele filens navn
ksoren >> når jeg prøver din så skriver den også flere tal ud hvis der er flere end to
Avatar billede busschou Praktikant
18. juli 2005 - 19:15 #6
jeg har ikke forstand på reg.exp
Men hvis spg er om den skal finde de sidste to tal eller bogstaver inden punktummet i et filnavn, så gør min tricket
De fleste filendelser er vist tre lange .o)
Avatar billede ksoren Nybegynder
18. juli 2005 - 19:16 #7
Jeg har vist heller ikke læst hele spørgsmålet. Det gælder også hvis de sidste to tegn er bogstaver :)

Så gælder mit eksempel ikke
Avatar billede ksoren Nybegynder
18. juli 2005 - 19:17 #8
re.Pattern = "(.{2})\.[^.]*$"

Så bør den virke efter hensigten :)
Avatar billede nielle Nybegynder
18. juli 2005 - 19:27 #9
Sorry, my bad:

dim str = "testbilled12.jpg"

dim regEx
Set regEx = New RegExp
regEx.Pattern = "^.*?(\d*)\.jpg$"
regEx.IgnoreCase = True

strTallet = regEx.Replace(str, "$1")
Avatar billede nielle Nybegynder
18. juli 2005 - 19:30 #10
Ahh - både tal og bogstaver:

dim str = "testbilled12.jpg"

dim regEx
Set regEx = New RegExp
regEx.Pattern = "^.*(.{2})\.jpg$"
regEx.IgnoreCase = True

strTallet = regEx.Replace(str, "$1")
Avatar billede ksoren Nybegynder
18. juli 2005 - 19:30 #11
Men nielle, du laver stadig samme fejl som mig. Spørgsmålet lyder: "2 sidste tal/bogstaver"

Din accepterer kun tal :)
Avatar billede busschou Praktikant
18. juli 2005 - 19:32 #12
ja og så er spørgsmålet om den nødvendigvis også ender på lige netop jpg
Men smart ser det da ud i reg exp, hvis man kan gennemskue dem ;o)
Avatar billede ksoren Nybegynder
18. juli 2005 - 20:11 #13
str = "billed12.jpg"

arr = Split(str, ".")
sidsteto = Right(arr(UBound(arr)-1), 2)
Response.Write sidsteto


-- mangler kontrol, hvis filnavn kan være uden punktum
Avatar billede busschou Praktikant
18. juli 2005 - 20:23 #14
lol ja mulighederne er mange :o)
Avatar billede jensen79 Nybegynder
19. juli 2005 - 00:03 #15
Perfekt det virkede og tak for de andre input.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester