我正在尝试搜索字符串以查看它是否包含列表中的任何字符串,
var s = driver.FindElement(By.Id("list"));
var innerHtml = s.GetAttribute("innerHTML");
innerhtml是我想要搜索的字符串列表,例如
var list = new List<string> { "One", "Two", "Three" };
所以如果说innerHtml包含“One”输出匹配:一个
答案 0 :(得分:1)
您可以使用Contains
对innerHtml
为列表中的每个项目应用LINQ来执行此操作:
var matches = list.Where(item => innerHtml.Contains(item)).ToList();
变量matches
将包含来自list
的{{1}}内匹配的字符串子集。
注意:此方法与字边界不匹配,这意味着当innerHtml
包含"One"
时,您会找到innerHtml
的匹配项。
答案 1 :(得分:1)
您可以通过以下方式执行此操作:
array([[150, 200, 250, 300, 350],
[170, 220, 270, 320, 370],
[190, 240, 290, 340, 390],
[210, 260, 310, 360, 410],
[230, 280, 330, 380, 430]])
它将返回匹配项的索引,否则如果找不到则返回-1。
如果您想要字符串输出,如问题所述,您可以执行以下操作:
int result = list.IndexOf(innerHTML);
另一种简单的方法是:
if (result != -1)
Console.WriteLine(list[result] + " matched.");
else
Console.WriteLine("No match found");
如果匹配则返回匹配的元素,否则返回null。
有关详细信息,请参阅docs。
答案 2 :(得分:0)
foreach(var str in list)
{
if (innerHtml.Contains(str))
{
// match found, do your stuff.
}
}