18. februar 2011 - 23:54Der er
6 kommentarer og 1 løsning
Hvordan bruges index.of og count
Hej
Hvis jeg har dette stykke kode
Dim input As String = reader.ReadToEnd() Dim StartToken As String = "<div id="divMain2" class="mainDiv">" Dim EndToken As String = "</div>" Dim ContentStartPosition As Integer = Input.IndexOf(StartToken) + StartToken.Length Dim ContentEndPosition As Integer = Input.IndexOf(EndToken) Dim Length As Integer = ContentEndPosition - ContentStartPosition Dim Content As String = Input.Substring(ContentStartPosition, Length) someLabel.Text = Content
Mit problem med denne kode er at den viser koden fra <div id="divMain2" class="mainDiv"> og det er fint, men den stopper ved den første </div> efter denne kode, jeg ved den skal springe den første </div> over men så stoppe ved den næste </div>
@ Tjens Faktisk rart at vide hvis jeg ved jeg har en bestemt class lige efter en </div> for så kan jeg have den class i min ContentEndPosition og så lave en LastIndexOf, rart at vide.
@ Arne ja men jeg bøvler med det. Hvis jeg har dette..... "Fem Flade flødeboller på et fladt flødebolle fad." Hvis så vi antager at jeg skal lave en IndexOf på F/f men det KUN er fra 4. F jeg vil have teksten, altså "fladt flødebolle fad."
Hvordan vil en evt. indexOf kode se ud for at hoppe gennem de første 3 ord med F. Ved gost jeg kan bare skrive Fladt som søge ord, men lad os antage det er "f/F" vi søger efter.
er blank ang. hvad jeg skal gøre, håber en lige vil give et eks. på min tekst linje så jeg kan se hvordan man kan gøre og så derefter rette så den virker til mit </div> nr 2 spm.
Dim s As String = "Fem Flade flødeboller på et fladt flødebolle fad." Console.WriteLine("Første : " & s.ToLower().IndexOf("f"C)) Console.WriteLine("Sidste : " & s.ToLower().LastIndexOf("f"C)) Dim ix As Integer = 0 While 0 <= ix And ix < s.Length ix = s.ToLower().IndexOf("f"C, ix) If ix >= 0 Then Console.WriteLine("Alle : " & ix) ix = ix + 1 End If End While
udskriver:
Forste : 0 Sidste : 45 Alle : 0 Alle : 4 Alle : 10 Alle : 28 Alle : 34 Alle : 45
Dim s As String = "Fem Flade flødeboller på et fladt flødebolle fad." Console.WriteLine("Første : " & s.ToLower().IndexOf("f"C)) Console.WriteLine("Sidste : " & s.ToLower().LastIndexOf("f"C)) Dim ix As Integer = 0 While 0 <= ix And ix < s.Length ix = s.ToLower().IndexOf("f"C, ix) If ix >= 0 Then Console.WriteLine("Alle : " & ix) ix = ix + 1 End If End While ix = s.ToLower().IndexOf("f"C) ix = s.ToLower().IndexOf("f"C, ix + 1) Console.WriteLine("Nummer 2 : " & ix) ix = s.ToLower().IndexOf("f"C) ix = s.ToLower().IndexOf("f"C, ix + 1) ix = s.ToLower().IndexOf("f"C, ix + 1) ix = s.ToLower().IndexOf("f"C, ix + 1) Console.WriteLine("Nummer 4 : " & ix)
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.