【发布时间】:2019-09-01 02:33:58
【问题描述】:
我有一个以竖线分隔的文本文件,我将其读入字符串数组。文本文件将有 2 个元素,第一个元素可能有一个或多个重复项。如果有任何重复,我想将这些值连接成 1。
示例文本文件:
ABC|111
DEF|222
GHI|333
ABC|444
JKL|555
ABC|666
在本例中,“ABC”重复了 3 次。我想将这些值连接成一行,用“~”符号分隔。
新的字符串数组值:
ABC|111~444~666
DEF|222
GHI|333
JKL|555
列表的顺序并不重要。我知道如何使用 .Distinct() 查找 整个 行的重复值,但我不确定如何仅使用字符串数组的第一个元素来执行此操作。我会提供一些我尝试的代码,但老实说,我什至不知道如何开始达到预期的结果。任何帮助表示赞赏!谢谢。
(抱歉,如果这篇文章重复了。我不得不刷新页面。)
编辑 文本文件可以包含 10,000 - 100,000 个值。
【问题讨论】:
-
您可以使用
.Split()在分隔符上拆分字符串,然后只比较字符串的一部分。建议您先熟悉一下 MSDN 文档,以便找到对您的情况有帮助的函数。 -
@Code-Apprentice 谢谢!我确实尝试使用
.Split()来拆分元素,但我不知道如何在使用第一个元素搜索重复项时保留第二个元素及其各自的第一个元素。 -
解决这样的编程问题通常意味着离开计算机并在将这些步骤转换为代码之前找出必要的步骤。我经常喜欢用笔和纸把这些用文字写出来。
标签: c# arrays split duplicates partial