Avatar billede blueice Nybegynder
05. august 2005 - 13:40 Der er 10 kommentarer og
1 løsning

Søge funktion til streg

jeg vil gerne vide om der er en funktion der kan finde ord i en tekst streg fx "abe", det skal både være ord som inde holder "abe" og abe alene fx
ord der skal findes
abe, Abe, abeman, hanabeman

Altså *abe*
Avatar billede sjh Nybegynder
05. august 2005 - 13:44 #1
du kan bruge.. InStr(1, strText, strFind, vbTextCompare)
Avatar billede sjh Nybegynder
05. august 2005 - 13:47 #2
Private Sub Form_Load()
Dim strText As String
Dim strFind As String

  strFind = "abe"
  strText = "den blå ABE er da meget sød :D"

  If InStr(1, strText, strFind, vbTextCompare) Then
    MsgBox "Ja '" & strFind & "' er i teksten"
  End If
End Sub
Avatar billede blueice Nybegynder
05. august 2005 - 13:50 #3
Hvordan får jeg ud hvor mange gange den er i teksten, og hvilke ord der er fundet

strText = "Der var en gang en abemand, der havde en ABE og en abekat, men alle abedyrene døde"
her vil jeg altså have abemand, ABE, abekat, abedyrer, fundet og vist, evt tilføjet til lstFound
Avatar billede blueice Nybegynder
05. august 2005 - 13:54 #4
Skal bruge det til at søge "inden i" filer
Avatar billede blueice Nybegynder
05. august 2005 - 13:57 #5
Kan man egentlig søge i en binær fil efter tekst( ved godt binære filer ikke indeholder "tekst") men mere om der kommer fejl hvis man gør

streg = streng, <-- dobbelt slå fejl ;(
Avatar billede blueice Nybegynder
05. august 2005 - 15:53 #6
Sætter point op fra 15 -> 45
Avatar billede kabbak Professor
09. august 2005 - 20:05 #7
2 tekstbokse ,en listboks og en commandknap

Private Sub Command1_Click()
Dim strText As String, strFind As String, T As Integer, ST As Integer, SL As Integer
  strText = Text1.Text
  strFind = Text2.Text
  Do
A = InStr(1, UCase(strText), UCase(strFind), vbTextCompare)

  If A <> 0 Then
  For T = A To 1 Step -1
  If Mid(strText, T, 1) = " " Then
  ST = T
  Exit For
  End If
  Next
 
  For T = A To Len(strText)
  If Mid(strText, T, 1) = " " Then
  SL = T
  Exit For
  End If
  Next
  List1.AddItem Mid(strText, ST, SL - ST)
  strText = Mid(strText, SL, Len(strText) - SL)
  End If

Loop Until A = 0
End Sub
Avatar billede kabbak Professor
09. august 2005 - 20:50 #8
en rettelse

Private Sub Command1_Click()
Dim strText As String, strFind As String, T As Integer, ST As Integer, SL As Integer
  strText = Text1.Text ' sætningen
  strFind = Text2.Text ' ordet der skal findes
  List1.Clear
  Do
        A = InStr(1, UCase(strText), UCase(strFind), vbTextCompare)

  If A <> 0 Then
 
    For T = A To 1 Step -1
      If Mid(strText, T, 1) = " " Or A = 1 Then
          ST = T
          Exit For
      End If
    Next
   
    For T = A To Len(strText)
      If Mid(strText, T, 1) = " " Or T = Len(strText) Then
          SL = T
        If T = Len(strText) Then SL = T + 1
          Exit For
      End If
     
    Next
     
      List1.AddItem Mid(strText, ST, (SL - ST) + 1)
      strText = Mid(strText, SL, Len(strText))
   
  End If

Loop Until A = 0
End Sub
Avatar billede blueice Nybegynder
10. september 2005 - 23:47 #9
kabbak > lÆG SVAR
joern > Læg Svar
Avatar billede kabbak Professor
11. september 2005 - 00:47 #10
et svar ;-))
Avatar billede blueice Nybegynder
25. september 2005 - 20:50 #11
Joern > Svar???
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