C# 如何删除单词的重复条目

C# 如何删除单词的重复条目,c#,C#,我想删除单词的第二个条目,例如,如果我在文本中找到: Alex Alex 应删除其中一个条目。使用以下正则表达式 (\b\S+\b)(?=.*\1) 并替换为$1 这将使用功能或正则表达式。我不会使用正则表达式执行此操作 我会这样做: private string RemoveDuplicateWord(string input) { string[] words = input.Split(' '); var listOfWords = new Li

我想删除单词的第二个条目,例如,如果我在文本中找到:

Alex Alex
应删除其中一个条目。

使用以下正则表达式

(\b\S+\b)(?=.*\1)
并替换为
$1


这将使用功能或正则表达式。

我不会使用正则表达式执行此操作

我会这样做:

private string RemoveDuplicateWord(string input)
    {
        string[] words = input.Split(' ');
        var listOfWords = new List<string>();

        foreach (var word in words)
        {
            if (!listOfWords.Contains(word))
                listOfWords.Add(word);
        }

        var arrayString = listOfWords.ToArray();

        return string.Join(" ", arrayString);
    }
private string RemoveDuplicateWord(字符串输入)
{
string[]words=input.Split(“”);
var listOfWords=新列表();
foreach(单词中的var单词)
{
如果(!listofWord.Contains(word))
添加(单词);
}
var arraysting=listOfWords.ToArray();
返回字符串。Join(“,arrayString);
}

此字符串是由空格分隔的一系列单词组成的吗?标点符号是一个因素吗?如果它们出现两次(即“Alex Jon Alex”)或者只有在连续出现时才删除它们吗?是的,它还应该删除文本中的任何重复项,例如:Alex要买一些牛奶,Alex有一只猫…bla blaDo我必须使用正则表达式。替换方法?是的。请注意,如果(Regex.Replace(cuvant,“^(\b\\S+\b)(?=*$1)$”)returnVer=“Duplicate deleted”,则会出现错误,而不是\1而是$1;您需要转义\在放入C#字符串时尝试Regex.Replace(cuvant,“^(\\b\\S+\\b)(?=.*\\1)”,“$1”);无法将类型“string”转换为“bool”,有什么想法吗?