c#判读字符是否包含在其中

c# ,有一个中文字符A,比如 “系统设置”,还有一个中文字符B ,“系统设置,角色管理” ,如何判断,B字符中包含A字符呢

该回答引用ChatGPT

你可以使用C#中的string.Contains方法来判断一个字符串是否包含另一个字符串,示例代码如下:



string a = "系统设置";
string b = "系统设置,角色管理";

if (b.Contains(a))
{
    Console.WriteLine("B中包含A");
}
else
{
    Console.WriteLine("B中不包含A");
}

这个代码片段会输出 B中包含A,因为字符串B包含了字符串A。Contains方法返回一个布尔值,表示字符串中是否包含指定的子字符串。

可以使用字符串匹配算法来判断B字符串中是否包含A字符串。一个简单的算法是遍历B字符串中每一个字符,检查是否与A字符串中的第一个字符相同,如果相同,则在B字符串中从这个位置开始继续向后匹配A字符串中的后续字符,如果匹配成功,则说明B字符串中包含A字符串。

在实际编程中,可以使用字符串库提供的函数来实现字符串匹配功能,比如C++标准库中的std::string::find函数。例如,可以使用下面的代码来检查B字符串中是否包含A字符串:

std::string A = "系统设置";
std::string B = "系统设置,角色管理";

if (B.find(A) != std::string::npos) {
    // B字符串包含A字符串
} else {
    // B字符串不包含A字符串
}

这里使用了std::string::find函数来查找A字符串在B字符串中的位置,如果找到了,则返回该位置,否则返回std::string::npos表示未找到。根据返回值是否为std::string::npos来判断B字符串中是否包含A字符串。

img

直接 .IndexOf 不好么

使用C#中的String.Contains方法进行判断。

String A = "系统设置";
String B = "系统设置,角色管理";

if (B.Contains(A)) 
{
    // B字符串中包含A字符
    // do something
}

如果是模糊匹配可以使用 C#自带的 Contains 去判断
如果是准确匹配的话 比如 B字符串是逗号分割的可以先分割成数组split然后去进行精确匹配