gpt4 book ai didi

c# - 比较两个不同顺序的字符串

转载 作者:行者123 更新时间:2023-11-30 22:15:39 25 4
gpt4 key购买 nike

我有一个字典,里面有一个字符串列表,每个字符串看起来像这样:

"beginning|middle|middle2|end"

现在我想要的是这样做:

List<string> stringsWithPipes = new List<string>();
stringWithPipes.Add("beginning|middle|middle2|end");
...

if(stringWithPipes.Contains("beginning|middle|middle2|end")
{
return true;
}

问题是,我正在比较它的字符串构建略有不同,所以它最终更像是:

if(stringWithPipes.Contains(beginning|middle2|middle||end)
{
return true;
}

显然这最终是错误的。但是,我想认为这是真的,因为它只是顺序不同。我能做什么?

最佳答案

您可以在 | 上拆分您的字符串,然后拆分要比较的字符串,然后使用 Enumerable.ExceptEnumerable.Any 喜欢

List<string> stringsWithPipes = new List<string>();
stringsWithPipes.Add("beginning|middle|middle2|end");
stringsWithPipes.Add("beginning|middle|middle3|end");
stringsWithPipes.Add("beginning|middle2|middle|end");

var array = stringsWithPipes.Select(r => r.Split('|')).ToArray();

string str = "beginning|middle2|middle|end";
var compareArray = str.Split('|');

foreach (var subArray in array)
{
if (!subArray.Except(compareArray).Any())
{
//Exists
Console.WriteLine("Item exists");
break;
}
}

这当然可以优化,但以上是一种方法。

关于c# - 比较两个不同顺序的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17865504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com