C# 在字符串中查找重复的单词并删除重复的单词
假设我有一个包含许多单词的字符串,例如:C# 在字符串中查找重复的单词并删除重复的单词,c#,asp.net,C#,Asp.net,假设我有一个包含许多单词的字符串,例如: string SetenceString= "red white black white green yellow red red black white" 我想删除所有副本,每个单词只返回一次: SetenceString= "red white black green yellow" 我怎样才能用C#做到这一点?非常感谢您的帮助。如果您的文字总是分开的话: String.Join(" ", SetenceString.Split(' ').Dis
string SetenceString= "red white black white green yellow red red black white"
我想删除所有副本,每个单词只返回一次:
SetenceString= "red white black green yellow"
我怎样才能用C#做到这一点?非常感谢您的帮助。如果您的文字总是分开的话:
String.Join(" ", SetenceString.Split(' ').Distinct())
否则,您应该使用正则表达式,您甚至还没有告诉我们您尝试了什么,但是
string SetenceString = "red white black white green yellow red red black white";
var result = string.Join(" ", SetenceString.Split(' ').Distinct());
Console.WriteLine(result);
输出将是
红白黑绿黄
但是,嘿,这到底是怎么回事
- 我们用空格分割字符串,以获得字符串数组中的所有单词
- 我们过去在字符串数组中只获取不同的单词
- 我们使用
将所有这些不同的单词与空白组合起来string.Join
字符串设置字符串=“红白黑绿黄红黑白”;
string[]data=SetenceString.Split(“”);
HashSet=newhashset();
for(int i=0;i
set
Variable现在只包含唯一的项目也请在发布前在stackoverflow上搜索。我不敢相信,当你输入这封信时,许多已经存在的重复问题中有一个没有出现。谢谢,我会接受你的回答。解释得很好!
string SetenceString = "red white black white green yellow red red black white";
string[] data = SetenceString.Split(' ');
HashSet<string> set = new HashSet<string>();
for (int i = 0; i < data.Length; i++)
{
set.Add(data[i]);
}