我有一个像这样的数据表:
column1 column2
----------- ----------
1 abc d Alpha
2 ab Gamma
3 abc de Harry
4 xyz Peter
我想检查数据表中是否存在字符串的子字符串。
例如如果我要查找的字符串是“abc defg”,则应该返回记录3(虽然记录1也是匹配的,但记录3按顺序有更多常见字符)。
我无法找到任何如上所述的搜索方式。 任何帮助、指导将不胜感激。
最佳答案
这将是一个两步过程。
- 过滤表中匹配的行。这可以通过 string.Contains 来完成方法。在 LINQ 中,这看起来像:
const string myText = "abc defg";
IEnumerable<Row> matches = MyTable.Where(row => myText.Contains(row.Column1));
- 选择最长的匹配项。在 LINQ 中,这可能看起来像这样。
Row longestMatch = matches.OrderByDescending<Row, int>(row => row.Column1.Length).First();
关于c# - 检查数据表中是否存在字符串的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66806876/