c# - 如何将字符串数组拆分为新的字符串数组并删除重复项

标签 c# arrays split

我有一个字符串,但我不知道它的项目数。我想将此字符串数组拆分为一个新数组。之后,我需要删除重复的项目,如下例所示。

例如在下面:单词“hi”和“friends”出现两次,但我们在第二个数组中写入一次,它并不总是必须超过两次,有时超过 3 次或更多,单词“hi”和“ friend ”只是例如,也许其他词会出现两次或多次)。

例如;

string[] myString = {"hello friends", "hi guys", "hi friends", "how are", "123654 u?", "today man", "! ?", "maybe tomorrow", "5 2-", "99 1585126", "(/&&/& _____"};

我想将它拆分成一个新的字符串数组(根据空格字符);
string[] new = {"hello", "friends", "hi", "guys", "how", "are", "123654", "u?", "today", "man", "!", "?", "maybe", "tomorrow","5" ,"2-" ,"99", "1585126", "/&&/&", "_____"} ;

最佳答案

使用SelectManyDistinct :

string[] newArray = myString.SelectMany(s => s.Split(' ')).Distinct().ToArray();

如果您想以不区分大小写的方式进行比较,请将适当的比较器传递给 Distinct :
string[] newArray = myString.SelectMany(s => s.Split(' ')).Distinct(StringComparer.InvariantCultureIgnoreCase).ToArray();

关于c# - 如何将字符串数组拆分为新的字符串数组并删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54291504/

相关文章:

c# - 在 c# 中运行一个简单的 sql server 查询

javascript - 如何检查数组在特定对象属性上是否唯一?

c# - 在泛型集合之间转换

c# - 异步接受传入请求

c# - 在 WPF 中使用 C# 代码删除 IE 缓存和 Cookie

ruby - 数组的笛卡尔乘积本身在 Ruby 中没有重复项

arrays - 如何将一个空结构编码(marshal)为一个空数组

javascript - 使用正则表达式将字符串拆分为 "\\"和 "."

javascript - 如何拆分字符串数组中每个值的最后 2 位

c++ - Opencv C++ : How to split video several part by time?