Avatar billede tzag_dk Nybegynder
19. maj 2005 - 13:41 Der er 3 kommentarer og
1 løsning

plus tal i et array

Hej,

Jeg har en streng der fx ser sådan her ud:
streng = #2;1#2;2#6;2#5;1

Tallet før ; er antal, tallet efter ; er et unikt id

Jeg vil gerne have at de skal ligges sammen så at strengen kommer til at se sådan her ud (Så at den samler antalet):
streng = #7;1#8;2


Kan I følge mig? Ellers må I lige sige til.

På forhånd tak :o)
// Rene
Avatar billede ksoren Nybegynder
19. maj 2005 - 14:26 #1
Function SamletSum(str)
    Dim re, matches, dic, m, antal, id, strsum, key

    Set re = New RegExp
    re.Global = True
    re.Pattern = "#(\d+);(\d+)"
   
    Set matches = re.Execute(str)
   
    Set dic = Server.CreateObject("Scripting.Dictionary")
   
    For Each m in matches
   
        antal = CInt(m.SubMatches(0))
        id = m.SubMatches(1)
   
        If dic.Exists(id) Then
            dic(id) = dic(id) + antal
        Else
            dic.Add id, antal
        End If
    Next
   
    strsum = ""
   
    For Each key in dic.Keys
        strsum = strsum & "#" & dic(key) & ";" & key
    Next

    SamletSum = strsum

End Function

Response.Write SamletSum("#2;1#2;2#6;2#5;1")
Avatar billede tzag_dk Nybegynder
19. maj 2005 - 14:46 #2
Tak for det. Det virker som det skal :o)
Avatar billede tzag_dk Nybegynder
24. maj 2005 - 12:31 #3
Vil du ikke have point? :o)
Avatar billede tzag_dk Nybegynder
23. juni 2006 - 11:50 #4
LUKKER så...
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