2016-09-19 1 views
-2

Ich habe ein Programm, das eine Teilzeichenfolge nach Index suchen wird. Wenn Sie beispielsweise in "Ja Nein Ja Nein" nach "Nein" suchen, wird der Zeichenindex des ersten "Nein" zurückgegeben.Wie finde ich alle Substring-Instanzen?

Ich möchte es mehrere Vorkommen zu identifizieren. Zum Beispiel würde das obige Beispiel sowohl als auch (Index des anderen Auftretens) zurückgeben.

+0

Erläuterung und Beispiel erläutert. – Prune

Antwort

1

IndexOf verfügt über eine Reihe von Überladungen, die dafür verwendet werden können.

Dies beginnt mit der Suche nach Zeichen 6. Allerdings wäre ich versucht, stattdessen einen regulären Ausdruck zu verwenden.

Dim regex As New System.Text.RegularExpressions.Regex("No") 
    For Each match As RegularExpressions.Match In regex.Matches(str) 
     Console.WriteLine("Match found @ {0}", match.Index) 
    Next 

Dies wird Ihnen viel mehr Kontrolle über die Anpassungs geben, wenn Sie weiter Ihre Regeln erweitern müssen und IMO bietet eine klarere Schnittstelle.

+0

Wow danke viel. Ich werde Reguläre Ausdrücke erforschen müssen, da ich das vorher nicht benutzt habe. Danke –

+1

Ich würde empfehlen, ein wenig von http://www.regular-expressions.info/ lesen, aber auch ein Spiel mit http://regexr.com/, um sie live in Aktion zu sehen. – FloatingKiwi

Verwandte Themen