我想用WatiN找到文本中的所有字符串。 我可以找到第一个字符串,但我不能收集所有这些字符串。 例如,我想在本文中找到所有出现的“水”:
地球上有很多水。但并非所有的水都可以饮用。
所以在这里我应该找到2“水”。我的代码只找到第一个。我怎样才能找到它们?
我的代码是:
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");
答案 0 :(得分:1)
您可以在循环中使用IndexOf来查找子串的多次出现。
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);
}
答案 1 :(得分:0)
拆分字符串,然后抓取包含您要查找内容的所有条目。
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");