string - 如何在字符串列表/数组中找到相似的模式

标签 string pattern-matching

我正在寻找在列表或字符串数​​组中查找匹配模式的方法,特别是在.NET中,但是其他语言的算法或逻辑会有所帮助。

假设我有3个数组(或在此特定情况下,List(Of String))

Array1
"Do"
"Re"
"Mi"
"Fa"
"So"
"La"
"Ti"

Array2
"Mi"
"Fa"
"Jim"
"Bob"
"So"

Array3
"Jim"
"Bob"
"So"
"La"
"Ti"

我想报告的匹配项的发生情况
("Mi", "Fa") In Arrays (1,2)
("So") In Arrays (1,2,3)
("Jim", "Bob", "So") in Arrays (2,3)
("So", "La", "Ti") in Arrays (1, 3)

...以及其他任何人。

我用它来解决问题,而不是专门制造它的商业产品,而宁愿不手工做(有110个列表,大约100-200个项目)。

是否有任何算法,现有代码或思想可以帮助我完成所描述的结果?

最佳答案

正如其他人提到的那样,您想要的功能是“相交”。如果您使用的是.NET 3.0,请考虑使用LINQ的Intersect函数。

参见the following post for more information

考虑使用LinqPAD进行实验。

www.linqpad.net

关于string - 如何在字符串列表/数组中找到相似的模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/483429/

相关文章:

javascript - imacros:如何从 .csv 提取的电子邮件地址中删除后缀 (@gmail.com)

C++ Dll字符串函数崩溃

java - 声明一个字符串数组

java - 如何在Java中跳过Regex的某些部分?

c# - 模式匹配优先于引用还是值相等?

c - 访问冲突读取位置 0x73726573

scala - 使用比较运算符匹配元组

比较单词的算法(不按字母顺序)

c# - C# 中基于 bool 模式的分支?

c++ - 在循环中使用 string.length() 是否有效?