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
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")