16. juni 2005 - 00:05Der er
6 kommentarer og 1 løsning
Undgå dubletter i streng..
Jeg har en database streng som indeholder "1,3,4,5,6" så vil jeg tilføje nogle ekstra punkter til denne streng, men vil undgå dubletter... eks. tilføjer jeg 1,8,9,10 --- Men 1 findes jo i forvejen... hvordan laver jeg et løsning hvor jeg løber min streng igennem og checkker om den findes og hvis den gør springer den over... ??
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Function AddNumber(numbers, str) Dim check, aNum, aStr, i, j aNum = Split(numbers, ",") aStr = Split(str, ",")
For i=0 To UBound(aNum) 'kontroller om nummeret allerede eksisterer check = False For j=0 To UBound(aStr) If aNum(i) = aStr(j) Then check = True Exit For End If Next
If Not Check Then str = str & "," & aNum(i) End If
Next AddNumber = str End Function
str = "1,2,3,4,6" num = "1,8,9,10" str = AddNumber(num, str)
Nå, nu havde jeg ellers lige en anden version som måske ville performe bedre med større datamængder... du får den lige alligevel :)
function mergeNumbers(strOriginal, strNewNumbers) ' Sæt komma omkring alle tallene for at gøre søgningen lettere strOrigNums = "," & strOriginal & ","
' Streng til at indeholde nye tal strNewExclusiveNums = ""
' Lav et array med alle de nye tal, så det er lettere at gennemløbe med et loop arrNewNumbers = Split(strNewNumbers, ",") for idx = 0 to ubound(arrNewNumbers) ' se om tallet eksisterer (sæt komma omkring for at sikre ' at det kun er hele tallet der findes) if instr(1, strOrigNums, "," & arrNewNumbers(idx) & ",") = 0 then ' Hvis tallet ikke eksisterer i forvejen gemmes det strNewExclusiveNums = strNewExclusiveNums & "," & arrNewNumbers(idx) end if next
' sammensæt de eksisterende tal med de nye og returner den nye streng af tal mergeNumbers = strOriginal & strNewExclusiveNums end function
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.