How to remove duplicate characters from a string in C#

2 Answers

0 votes
using System;

public class Program
{
     static string RemoveDuplicateCharacters(string s) {
        string result = "";
 
        foreach (char ch in s) {
            if (result.IndexOf(ch) == -1)
                result += ch;
        }
        
        return result;
    }
    public static void Main(string[] args)
    {
        string s = "c# c c++ java";
 
        s = RemoveDuplicateCharacters(s);
 
        Console.WriteLine(s);
    }
}


/*
run:

c# +jav

*/

 



answered Mar 13, 2017 by avibootz
edited Mar 5 by avibootz
0 votes
using System;
using System.Text;
using System.Collections.Generic;

public class Program
{
    public static string RemoveDuplicates(string input)
    {
        HashSet<char> seen = new HashSet<char>();
        StringBuilder result = new StringBuilder();

        foreach (char c in input) {
            if (!seen.Contains(c)) {
                seen.Add(c);
                result.Append(c);
            }
        }

        return result.ToString();
    }

    public static void Main()
    {
        Console.WriteLine(RemoveDuplicates("banana"));   
        Console.WriteLine(RemoveDuplicates("c# c c++ java"));    
    }
}



/*
run:

ban
c# +jav

*/

 



answered Mar 5 by avibootz
...