gpt4 book ai didi

c# - Linq 检查字符串数组是否在其他数组中有部分匹配

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:49:15 26 4
gpt4 key购买 nike

我想返回在 array1 中找到的匹配字符串

public static string[] FindMatchs(string[] array1, string[] array2) {
return array1.Where(x => array2.Contains(x)).ToArray();
}

输入:

var a1 = new string[] { "ca", "tr", "stack" };
var a2 = new string[] { "car", "house", "tree", "stackoverflow", "bus" };

该方法应该返回“ca”、“tr”、“stack”

最佳答案

我在之前的代码中犯了一个错误。请参阅下面的工作示例。

您想结合使用 .Contains() 和 .Any() 来实现您的目标。

这是一个基于您的代码的代码示例,它应该可以工作(为清楚起见,签名中的名称已更改):

public static string[] FindMatchs(string[] array, string[] filter) {
return array.Where(x => filter.Any(y => x.Contains(y))).ToArray();
}

这是一个活生生的例子: https://dotnetfiddle.net/HdB79V

关于c# - Linq 检查字符串数组是否在其他数组中有部分匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32533865/

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