2016-11-16 2 views
-1

Ich möchte alle Zeichenfolgen in einem Text mit WatiN finden. Ich kann die erste Zeichenfolge finden, aber ich kann nicht alle von ihnen sammeln. Zum Beispiel möchte ich alle Vorkommen von "Wasser" in diesem Text finden:Suchen Sie eine Zeichenfolge in einem Text mehrmals und Aktion jedes Mal

Es gibt eine Menge Wasser auf der Erde. Aber nicht alles Wasser ist trinkbar.

Also hier sollte ich 2 "Wasser" finden. Mein Code findet nur den ersten. Wie kann ich beide finden?

Mein Code ist:

IE ie = new IE("http://examplesite.com"); 

Element test = ie.Table(Find.ByClass("dataTable")).Element("td"); 

ie.TableRow(Find.ByText(t => t.Contains("example string"))).TextField(Find.ByName("examplename")).Button(Find.ByValue("example value")).Click(); 

ie.WaitForComplete(); 
Console.WriteLine("finished"); 

Antwort

1

Sie IndexOf in einer Schleife verwenden können mehrere Vorkommen einer Teil zu finden.

const string haystack = "there are lots of water in the earth. but all of water arent drinkble."; 
const string needle = "water"; 

var startIndex = -1; 
while ((startIndex = haystack.IndexOf(needle, startIndex + 1)) > -1) 
{ 
    Console.WriteLine("Found {0} at {1}", needle, startIndex); 
} 
0

Teilen Sie die Zeichenfolge und greifen Sie dann alle Einträge, die enthalten, was Sie suchen.

var sentence = "There is a lot of water on earth. But not all water is drinkable." 
var parts = sentence.Split(' '); 
var words = parts.Where(p => p == "water"); 
+0

Oder einfach tun 'Teile.Zahl (p => p ==" Wasser ")'. Eine Liste zu haben, in der alle Gegenstände "Wasser" sind, scheint nicht sehr nützlich zu sein. – Berend

+0

Die ursprüngliche Frage ist ziemlich vage darüber, warum er das tun will. Ich habe keine Ahnung, was für ihn nützlich ist oder nicht. –

+0

ja ich denke, es war nicht nützlich (habe noch nicht versucht ur-code), ich möchte ein paar element mit identischen id name finden. und ändere alle Werte von thire. Zum Beispiel möchte ich alle Textfelder mit der ID "test" finden und den Wert in etwas anderes ändern. – behzad

Verwandte Themen