首页 > 解决方案 > 我如何检查某物是否包含 XY,但它也可能是 XZY?

问题描述

这是代码

    Console.WriteLine("Hello!");
    string greeting = Console.ReadLine();
    if (greeting.ToLower().Contains("hello how are you")) ;
    {
        Console.WriteLine("I am good");
    }

这段代码有问题,如果用户说类似Hello jfjf how fjjffj are you程序仍然会回复他。我需要的是greeting必须是Hello,然后是 X 数量的任何字符串(每个字符串将由空格分隔)how are you,所以类似的东西Hello thomas anderson how are you可以工作,但类似的东西Hello 8grrgh how jrjr are me you不起作用

标签: c#user-input

解决方案


我想你需要一个正则表达式:

var r = new Regex("Hello .* how are you");
if(r.IsMatch(myString)) 
{ 
    Console.WriteLine("I am good");
}

这将匹配"Hello thomas anderson how are you"但不匹配"Hello jfjf how fjjffj are you"


推荐阅读