gpt4 book ai didi

c# - 基于 C# 中的子字符串获取唯一字符串

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

我有一个包含近 100000 个条目的文本文件。它们都具有特定的模式,例如
word1 word2 word3 word4

然而,这些条目中有许多是重复的,其中所有单词都相同。当我试图读取并形成一个数组或唯一数组列表时,我正在使用一个中间散列集来执行此操作。而且效果很好。
但本质上我想要实现的只是 word2 的唯一条目。就好像 word2 很常见而所有其他的都不同一样,我想保留任何一个条目。
例如
猫狗狮虎
猫狗鹿熊
鼠鼠熊鹿
狮虎猫狗
猫狗鹿熊

在这种情况下所需的输出将是:
猫狗狮虎
鼠鼠熊鹿
狮虎猫狗

或者
猫狗鹿熊
鼠鼠熊鹿
狮虎猫狗

目前哈希集给出的是:

猫狗狮虎
猫狗鹿熊
鼠鼠熊鹿
狮虎猫狗

关于如何在数据集很大的情况下有效地实现这一点的任何建议。使用正则表达式是这里唯一的选择吗?我正在使用 C#。

最佳答案

检查数据并将第二个单词放入字典中以了解它是否以前出现过。代码示例:

    string[] file = {   "cat dog lion tiger",
"cat dog deer bear",
"mouse rat bear deer",
"lion tiger cat dog",
"cat dog deer bear"};

Dictionary<string, string> dict = new Dictionary<string, string>();

List<string> lst = new List<string>();

foreach (string s in file)
{
string[] words = s.Split(' ');
// assumption - thare are at least 2 words in a line - validate it
if (!dict.ContainsKey(words[1]))
{
lst.Add(s);
dict.Add(words[1], words[1]);
}
}

foreach (string s1 in lst)
Console.WriteLine(s1);

关于c# - 基于 C# 中的子字符串获取唯一字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17769442/

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