gpt4 book ai didi

c# - 在字符串集合中搜索

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

我有这种格式的字符串:"a = 23, b = 432, f = 321, gfs = 413, d = 42, k = 4242, t = 4314, (...etc...)" - 大约 30 个元素

我需要有可能在许多字符串中相应地搜索 4 个元素,例如:a、b、d、k。

例如口头查询:给我所有字符串,其中 a = 3, b, = 2, d = 31, k = 1

我应该使用什么样的集合?我应该创建什么样的类?有什么想法吗?

最佳答案

这是使用辅助函数的一种方法:

private static bool HasAll(string s, string[] keys, int[] vals) {
if (keys.Length != vals.Length) throw new ArgumentException("vals");
var tt = s.Split(new[] {' ', ',', '='});
for(var i = 0 ; i != keys.Length ; i++) {
var pos = Array.IndexOf(tt, keys[i]));
if (pos < 0 || pos == vals.Length-1 || !tt[i+1].Equals(vals[i].ToString())) {
return false;
}
}
return true;
}

现在您可以使用 LINQ 获取如下项目:

var keys = new[] {"a", "b", "d", "k"};
var vals = new[] {3, 2, 31, 1};
var res = data.Where(str => HasAll(str, keys, vals)).ToList();

关于c# - 在字符串集合中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11364535/

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