这是一个有趣的问题,假设您有一个包含3个句子的列表,例如:
比尔猫有
比尔有只猫
猫有比尔
我将如何使用.Contains()或任何其他方法来检查列表中的句子是否包含特定顺序的单词,算法如下所示:
1)通过foreach循环运行语句列表
2)检查句子是否按此顺序包含单词=> Bill + had + cat
3)返回那句话
由于单词顺序不同,因此每隔一个句子返回假。大家有什么实现此想法的方法吗?:)
请尝试以下解决方案。
class Program
{
static void Main(string[] args)
{
List<string> list = new List<string>();
list.Add("Bill cat had");
list.Add("Bill had a cat");
list.Add("Bill had cat");
list.Add("Cat had Bill");
Regex rex = new Regex(@"((Bill)).*((had)).*((cat))");
foreach (string str in list)
{
if (rex.IsMatch(str))
{
Console.WriteLine(str);
}
}
Console.ReadLine();
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句