17. marts 2003 - 15:36Der er
5 kommentarer og 3 løsninger
Check: Hvor mange gange en værdi forekommer i en streng
Hej
Hvordan checker man hvor mange gange en værdi (f.eks. "03-17-2003") forekommer i en streng bestående af datoer, som er listet på følgende måde: "02-17-2003, 03-17-2003, 03-17-2003, 04-17-2003".
Hvis du ved det, kan du så ikke lige udbygge min funktion, som hedder "shareRes"?
Set myConn=Server.CreateObject("ADODB.Connection") myConn.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+server.Mappath("/db/selvet.mdb"))
strSQL = "SELECT datopublish FROM search WHERE datopublish >= #" & Year(date) & "-" & month(date) & "-" & Day(date) & "# AND datopublish < #" & Year(dateadd("yyyy",1,date)) & "-" & month(dateadd("yyyy",1,date)) & "-" & Day(dateadd("yyyy",1,date)) & "# order by datopublish"
set rs = myConn.execute(strSQL)
do while not rs.EOF if isDate(rs("datopublish")) then myDates = myDates & rs("datopublish") & ", " End If rs.MoveNext Loop
if Session("henvisningStatus") = "opdatere" then myDates = Replace(Session("henvisningDatoPublikation") & ", ", "") end if
if right(myDates, 2) = ", " then myDates = left(myDates,len(myDates)-2) end if
myDateArr = Split(myDates,",")
dato = date () datoSlut = DateAdd("yyyy",1,date) i = 0 do while dato <= datoSlut if shareRes() and CDate(myDateArr(i)) <> CDate(dato) then Response.Write "<option value=""" & dato & """>" & dato & "</option>" else i = i + 1 if i > ubound(myDateArr) then i = ubound(myDateArr) end if dato = dateAdd("d",1,dato) loop
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Function countDates(dates) antal = 0 myArr = Split(dates, ", ") For i = 0 to uBound(MyArr) If MyArr(i) = "03-17-2003" Then antal = antal + 1 End If Next countDates = antal End function
Set myConn=Server.CreateObject("ADODB.Connection") myConn.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE="+server.Mappath("/db/selvet.mdb"))
strSQL = "SELECT datopublish FROM search WHERE datopublish >= #" & Year(date) & "-" & month(date) & "-" & Day(date) & "# AND datopublish < #" & Year(dateadd("yyyy",1,date)) & "-" & month(dateadd("yyyy",1,date)) & "-" & Day(dateadd("yyyy",1,date)) & "# order by datopublish"
set rs = myConn.execute(strSQL)
do while not rs.EOF if isDate(rs("datopublish")) then myDates = myDates & rs("datopublish") & ", " End If rs.MoveNext Loop
if Session("henvisningStatus") = "opdatere" then myDates = Replace(Session("henvisningDatoPublikation") & ", ", "") end if
if right(myDates, 2) = ", " then myDates = left(myDates,len(myDates)-2) end if
myDateArr = Split(myDates,",")
dato = date () datoSlut = DateAdd("yyyy",1,date) i = 0 do while dato <= datoSlut if countDates(myDates, myDateArr(i)) < 2 and CDate(myDateArr(i)) <> CDate(dato) then Response.Write "<option value=""" & dato & """>" & dato & "</option>" else i = i + 1 if i > ubound(myDateArr) then i = ubound(myDateArr) end if dato = dateAdd("d",1,dato) loop
antal = 0 myArr = Split(dates, ", ") For i = 0 to uBound(MyArr) If MyArr(i) = thisDate Then antal = antal + 1 End If Next countDates = antal End function
Function RegExpTest(patrn, strng) Dim regEx, Match, Matches ' Create variable. Set regEx = New RegExp ' Create regular expression. regEx.Pattern = patrn ' Set pattern. regEx.IgnoreCase = True ' Set case insensitivity. regEx.Global = True ' Set global applicability. Set Matches = regEx.Execute(strng) ' Execute search. For Each Match in Matches ' Iterate Matches collection. intMatchCount = intMatchCount + 1 Next RegExpTest = intMatchCount End Function
patrn = den dato du leder efter strng = den streng du soeger i.
Jeg har brug for et hurtigt svar, så jeg lukker nu. Tak for hjælpen :-)
Synes godt om
Ny brugerNybegynder
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.