C# 如果字符串中有单词,则显示文本;如果字符串中有单词,则显示该字符串#

C# 如果字符串中有单词,则显示文本;如果字符串中有单词,则显示该字符串#,c#,string,C#,String,我想要一个类似于“if”的语句来测试字符串中的一个单词或一组单词。如果单词在字符串中,它会在控制台上显示该字符串 如果有人能帮忙,我们将不胜感激。String[]words={“word1”、“word2”、“word3”}; String [] words={"word1","word2","word3"}; String key="word2"; for(int i=0;i<words.Length;i++) { if(words[i].Contains(key)) Console.W

我想要一个类似于“if”的语句来测试字符串中的一个单词或一组单词。如果单词在字符串中,它会在控制台上显示该字符串

如果有人能帮忙,我们将不胜感激。

String[]words={“word1”、“word2”、“word3”};
String [] words={"word1","word2","word3"};
String key="word2";
for(int i=0;i<words.Length;i++)
{
if(words[i].Contains(key))
Console.WriteLine(words[i]);
}
String key=“word2”;
对于(int i=0;i为什么不使用
.Contains()
方法

string s = "i am a string!";
bool matched = s.Contains("am");
你可以使用这样的方法

string s = "helloHellohi";
string[] array = new string[] { "hello", "Hello", "hi", "Hi", "hey", "Hey", "Hay", "hey" };

foreach (var item in array)
{
   if(s.Contains(item))
     Console.WriteLine(item);
}
输出将是

hello
Hello
hi

这里有一个。

尽管这是一个被问得很糟糕的问题,我还是要违背我的直觉来回答它

建立要搜索的
列表

private List<string> _words = new List<string> { "abc", "def", "ghi" };
现在你可以说:

myString.ContainsWords();
整个扩展类可能如下所示:

public static bool ContainsWords(this string s)
{
    return _words.Any(w => s.Contains(w));
}
public static class Extensions
{
    private List<string> _words = new List<string> { "abc", "def", "ghi" };

    public static bool ContainsWords(this string s)
    {
        return _words.Any(w => s.Contains(w));
    }

    public static bool ContainsWords(this string s, List<string> words)
    {
        return words.Any(w => s.Contains(w));
    }
}
公共静态类扩展
{
私有列表_words=新列表{“abc”、“def”、“ghi”};
公共静态bool包含剑(此字符串为s)
{
返回_words.Any(w=>s.Contains(w));
}
公共静态bool包含剑(此字符串为s,列出单词)
{
返回单词.Any(w=>s.Contains(w));
}
}

注意:根据应用程序中的需要,第二种方法更为通用。它不从extensions类中获取列表,而是允许将其注入。但是,可能是应用程序非常具体,第一种方法更合适。

您遇到了什么问题?String.Contains或者Regexi我不知道如何为一个单词或一组单词的字符串发送文本将列表转换为包含剑的文本将更为通用…@Steve,是的,它会,这将是一个合理的添加。让我补充一下。哦,好吧,至少从这个问题中得出了一些有用的东西谢谢,效果很好:D