0
0
CsharpHow-ToBeginner · 3 min read

How to Remove Characters from String in C# - Simple Guide

In C#, you can remove characters from a string using Replace() to replace specific characters with an empty string, or Remove() to delete characters by index and length. For more complex conditions, you can use LINQ to filter out unwanted characters.
📐

Syntax

Replace method: string.Replace(char oldChar, char newChar) replaces all occurrences of oldChar with newChar. To remove, use an empty string.

Remove method: string.Remove(int startIndex, int count) removes count characters starting at startIndex.

LINQ filtering: Use string.Where() with a condition to keep only desired characters.

csharp
string Replace(char oldChar, char newChar);
string Remove(int startIndex, int count);
string filtered = new string(originalString.Where(c => c != 'x').ToArray());
💻

Example

This example shows how to remove all 'a' characters using Replace, remove characters by position using Remove, and remove digits using LINQ.

csharp
using System;
using System.Linq;

class Program
{
    static void Main()
    {
        string text = "abracadabra123";

        // Remove all 'a' characters
        string removedA = text.Replace("a", "");

        // Remove 3 characters starting at index 5
        string removedByIndex = text.Remove(5, 3);

        // Remove all digits using LINQ
        string removedDigits = new string(text.Where(c => !char.IsDigit(c)).ToArray());

        Console.WriteLine($"Original: {text}");
        Console.WriteLine($"Remove 'a': {removedA}");
        Console.WriteLine($"Remove 3 chars at index 5: {removedByIndex}");
        Console.WriteLine($"Remove digits: {removedDigits}");
    }
}
Output
Original: abracadabra123 Remove 'a': brcdbr123 Remove 3 chars at index 5: abracabra123 Remove digits: abracadabra
⚠️

Common Pitfalls

  • Strings in C# are immutable, so methods like Replace and Remove return new strings; they do not change the original string.
  • Using Remove with invalid indexes causes exceptions.
  • Trying to remove characters by replacing with null instead of an empty string "" will cause errors.
csharp
string text = "hello";

// Wrong: does not change original string
text.Replace("l", "");
Console.WriteLine(text); // prints "hello"

// Right: assign result
text = text.Replace("l", "");
Console.WriteLine(text); // prints "heo"
Output
hello heo
📊

Quick Reference

MethodPurposeExample Usage
ReplaceReplace characters or remove by replacing with empty stringtext.Replace('a', '\0')
RemoveRemove characters by index and counttext.Remove(2, 3)
LINQ WhereFilter characters by conditionnew string(text.Where(c => c != 'x').ToArray())

Key Takeaways

Use Replace with an empty string to remove specific characters from a string.
Use Remove to delete characters by position and length, but watch index bounds.
Strings are immutable; always assign the result of removal methods to a variable.
LINQ can filter characters flexibly based on any condition.
Avoid replacing with null; use empty string "" to remove characters.