Avatar billede burgermann Nybegynder
21. juli 2002 - 18:58 Der er 12 kommentarer og
1 løsning

Antal forekomster i en string

Hvordan returnere man antal forekomster i en string?. Hvis nu jeg vil vide hvormange gange der står "hej" i min variable hurlumhej
<%
dim hurlumhej
hurlumhej = "hej for søren sikke, ej hej med dig, et godt vejr hvad?! hej haj hejhej"
%>
Her skulle den gerne kunne finde 5 stykker.

-BurgerMann
Avatar billede agg-zeus Nybegynder
21. juli 2002 - 19:04 #1
count = 0
For Each hej In hurlumhej
  count = count + 1
next

Response.Write count

kan det bruges ?
Avatar billede medions Nybegynder
21. juli 2002 - 19:08 #2
Dim strSearch
strKeyWord = "hej"
strSearch = "hej for søren sikke, ej hej med dig, et godt vejr hvad?! hej haj hejhej"

arrCount = Split(strSearsh, " ")
For i = 0 To UBound(arrCount)
  If arrCount(i) = strKeyWord Then
      lngTimes = lngTimes +1
  End If
Next
Response.Write(lngTimes)

//>Rune
Avatar billede burgermann Nybegynder
21. juli 2002 - 19:10 #3
Mmnn Ja i princippet jo. Men hvis nu jeg kunne finde ud af at beskrive mit spørgsmål rigtigt.

Problemet er, at jeg er ved at lave en chat. Og smart eller ej, har jeg valgt at putte alle chatstrenge ind i en application.
Hver gang man bliver skrevet til, dvs. når andre skriver ens navn på skærmen, bliver beskeden fremhævet.

Problemet er jo nu, at jeg skal have fortalt mit script, hvornår det skal fremhæve beskeden. 1. det skal være brugeren med det tilhørende navn, 2. den må ikke fremhæve alle beskeder, bare fordi der står "Chatnavn : ...". det er kun de beskeder andre skriver, der indeholde mit navn fx. der skal fremhæves. Jeg er lidt på bunden.
Avatar billede medions Nybegynder
21. juli 2002 - 19:10 #4
Dim strSearch
strKeyWord = "hej"
strSearch = "hej for søren sikke, ej hej med dig, et godt vejr hvad?! hej haj hejhej"

arrCount = Split(strSearch, " ")
For i = 0 To UBound(arrCount)
  If arrCount(i) = strKeyWord Then
      lngTimes = lngTimes + 1
  End If
Next

sådan var det vidst...

//>Rune
Avatar billede medions Nybegynder
21. juli 2002 - 19:12 #5
Men i mit eksempel vil hejhej ikke blive registreret.. Så skal du til at ind og bruge funktionen InStr()

//>Rune
Avatar billede burgermann Nybegynder
21. juli 2002 - 19:17 #6
Det er nogle pokkers gode svar! =)
Men hvad nu hvis jeg gerne vil tælle et antal forekomster fra højre mod venstre endtil et bestemt tegn med InStrRev
Avatar billede burgermann Nybegynder
21. juli 2002 - 19:18 #7
F.eks. kunne tegnet være " : ". Man kan forresten ikke bruge InStrRev, for der skal man kende tegnets numeriske placering. Så den går ikke.
Avatar billede medions Nybegynder
21. juli 2002 - 19:31 #8
Er der en hvis grænse for hvor langt et brugernavn mand må have?`

//>Rune
Avatar billede medions Nybegynder
21. juli 2002 - 19:41 #9
lngOrder = InStr(strSearch,strKeyWord)
    lngLength = Len(strSearch) - lngOrder
    Response.Write(Right(strSearch,lngLength))

//>Rune
Avatar billede medions Nybegynder
21. juli 2002 - 19:42 #10
strKeyWord = "haj"
strSearch = "hej for søren sikke, ej hej med dig, et godt vejr hvad?! hej haj hejhej"

lngOrder = InStr(strSearch,strKeyWord)
lngLength = Len(strSearch) - lngOrder
Response.Write(Right(strSearch,lngLength))

Hmm.. syntes du ikke snart 15 poinz er lidt lidt snart...?
//>Rune
Avatar billede medions Nybegynder
21. juli 2002 - 19:44 #11
Hvis så fx. du vil have alt efter :, så skal du bare sætte variablen strKeyWord til ":"

//>Rune
Avatar billede burgermann Nybegynder
21. juli 2002 - 20:21 #12
Jorv, det var vist lidt lidt. Men så er det da ikke mig der skaber inflation i pointene! ;). Tak for hjælpen.
Avatar billede medions Nybegynder
21. juli 2002 - 20:44 #13
Var så lidt...
Thx 4 Poinz

//>Rune
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