A way to remove an unwanted char from a string

ddanbe 0 Tallied Votes 1K Views Share

Short snippet on how you could remove all occurrences of a char from a string using LINQ.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LINQTesting
{
    class Program
    {
        static void Main(string[] args)
        {
            const char UnwantedChar = '.';

            string Date = "12.11.1976";
            var DateWithout = new char[8];

            Console.WriteLine("Original date = {0}",Date);
            
            // Get some help from LINQ
            IEnumerable<Char> WithoutTheChar = Date.Where(ch => !ch.Equals(UnwantedChar));

            int CharCount = 0;
            foreach (char ch in WithoutTheChar) //enumerate
            {
                DateWithout[CharCount] = ch;
                CharCount++;
            }

            string NewDate = new String(DateWithout);
            Console.WriteLine("Date cleaned up = {0}", NewDate);
           
            Console.ReadKey();
        }
    }
}
ddanbe 2,724 Professional Procrastinator Featured Poster

Think this is an improved version:

namespace LINQTesting
{
    class Program
    {
        static void Main(string[] args)
        {
            const char UnwantedChar = '.';

            string Date = "12.11.1976";

            Console.WriteLine("Original date = {0}",Date);
            
            // Get some help from LINQ
            char[] WithoutTheChar = Date.Where(ch => !ch.Equals(UnwantedChar)).ToArray();
            // convert array of char to string
            string NewDate = new String(WithoutTheChar);
           
            Console.WriteLine("Date cleaned up = {0}", NewDate);
           
            Console.ReadKey();
        }
    }
}
deceptikon 1,790 Code Sniper Team Colleague Featured Poster

Why not use String.Replace()?

string NewDate = Date.Replace(".", string.Empty);
Philippe.Lahaie commented: agreed, and made me laugh! +2
ddanbe 2,724 Professional Procrastinator Featured Poster

@deceptikon: yes you are right!
But I titled this snippet A way, not THE way
I think your suggestion is perhaps the preferred way.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.