gpt4 book ai didi

c# - Linq 包含对字符串的检查有误检测

转载 作者:行者123 更新时间:2023-11-30 19:35:52 27 4
gpt4 key购买 nike

我想使用 LINQ 通过 LINQ 从字符串中过滤数据,我的预期结果 只有 1, 4, 15。但示例仅显示 1、4。它无法区分 515

谁能给我一些建议,谢谢。

这里是 .net fiddle

        string sa = "1, 2, 3, 4, 5, 15";
string sr = "2, 3, 5";

var r1 = sa.Where(l => !sr.Contains(l));
var r2 = sa.Except(sr);

var r3 = string.Join(",", sa.Except(sr));

foreach (var i in r1)
{
Console.Write(i + ", ");
}
Console.WriteLine();

foreach (var j in r2)
{
Console.Write(j + ", ");
}
Console.WriteLine();

Console.WriteLine(r3);

结果显示:

1, 4, 1, 
1, 4,
1,4

最佳答案

你在寻找Split吗?

var r3 => string.Join(", " sa
.Split(new string[] { ", "}, StringSplitOptions.None)
.Except(sr.Split(new string[] { ", "}, StringSplitOptions.None)));

我们每个字符串分成项目:

"1, 2, 3, 4, 5, 15" -> 1, 2, 3, 4, 5, 15  
"2, 3, 5" -> 2, 3, 5

然后执行Except:

Except:                1, 4, 15

最后,Join从项目返回的字符串:

1, 4, 15            -> "1, 4, 15"

关于c# - Linq 包含对字符串的检查有误检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50694313/

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