📜  c# 字符串包含任何列表 - C# (1)

📅  最后修改于: 2023-12-03 15:13:51.168000             🧑  作者: Mango

C# 字符串包含任何列表

在 C# 中,我们可以通过多种方式来判断一个字符串是否包含某些字符串或字符。本文将介绍如何使用 C# 中的字符串函数来实现字符串包含任何列表。

String.Contains 方法

String.Contains 方法可以判断一个字符串是否包含指定的子字符串。这个方法的语法如下:

public bool Contains(string value);

其中,value 参数表示要在当前字符串中查找的字符串。如果找到了,则返回 true,否则返回 false

下面的示例展示了如何使用 String.Contains 方法来判断一个字符串是否包含指定的多个子字符串:

string str = "hello world";
string[] keywords = { "hello", "world", "java" };

foreach (string keyword in keywords)
{
    if (str.Contains(keyword))
    {
        Console.WriteLine($"字符串中包含关键字 \"{keyword}\"");
    }
    else
    {
        Console.WriteLine($"字符串中不包含关键字 \"{keyword}\"");
    }
}

上述代码将输出以下内容:

字符串中包含关键字 "hello"
字符串中包含关键字 "world"
字符串中不包含关键字 "java"
String.IndexOfAny 方法

除了 String.Contains 方法,我们还可以使用 String.IndexOfAny 方法来判断一个字符串是否包含指定的任何字符。这个方法的语法如下:

public int IndexOfAny(char[] anyOf);

其中,anyOf 参数表示一个字符数组,它包含所有要查找的字符。如果当前字符串包含任何 anyOf 数组中的字符,则返回该字符在字符串中的位置;否则返回 -1

下面的示例展示了如何使用 String.IndexOfAny 方法来判断一个字符串是否包含指定的任何字符:

string str = "hello world";
char[] chars = { 'h', 'e', 'b' };

foreach (char c in chars)
{
    int index = str.IndexOfAny(new char[] { c });
    if (index != -1)
    {
        Console.WriteLine($"字符串中包含字符 '{c}', 位置为 {index}");
    }
    else
    {
        Console.WriteLine($"字符串中不包含字符 '{c}'");
    }
}

上述代码将输出以下内容:

字符串中包含字符 'h', 位置为 0
字符串中包含字符 'e', 位置为 1
字符串中不包含字符 'b'
总结

本文介绍了 C# 中判断字符串是否包含任何列表的两种常用方法:String.ContainsString.IndexOfAny。通过这些方法,我们可以很方便地判断一个字符串是否包含指定的子字符串或字符。