c# - How to remove special characters from a string

String remove special characters
The following asp.net c# example code demonstrate us how can we remove special characters programmatically at run time from a string value. We only keep the alphabets (letter) (a to z), numeric characters (0 to 9), white space and punctuation (.,?-;). .Net framework's String Class has no built in method or property to remove special characters from a string object. So, we need to apply few techniques to remove/delete special characters from a string object.

First, we need to convert the String value to a char array. String.ToCharArray(Char) overloaded method copies the characters in this instance to a Unicode character array. Next, we loop through the char array elements using foreach loop.

Now we can check each character of char array within loop to determine whether the current character is special character or not. Char.IsLetterOrDigit(Char) overloaded method indicate whether the specified Unicode character is categorized as a letter or a decimal digit. Char.IsPunctuation(Char) overloaded method indicate whether the specified Unicode character is categorized as a punctuation mark. Char.IsWhiteSpace(Char) overloaded method allow us to determine whether the specified Unicode character is a white space/blank space.

So, if any character is not pass by any one method of this three method, then we can indicate it as a special character and can remove it from string value. Finally, we can get a string object without any special character.

<%@ Page Language="C#" AutoEventWireup="true"%>

<!DOCTYPE html>  
<script runat="server"> 
    protected void Button1_Click(object sender, System.EventArgs e)  
        //this section create a string variable.
        string characters = "1.{-^A}* 2.[B)";

        Label1.Text = "string of characters..................<br />";
        Label1.Text += characters + "<br /><br />";

        //this line convert string to char array
        char[] chars = characters.ToCharArray();

        //make string empty now.
        characters = "";
        foreach(char c in chars)
            //here we only allowed '.' and whitespace special characters
            //other non alphanumeric characters are removed from string
            if (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c) || c=='.')
                Label1.Text += c.ToString();
                characters += c;
                Label1.Text += "special characters";
            Label1.Text += "<br />";

        Label1.Text += "<br />after removing special characters from string........<br />";
        Label1.Text += characters;
<html xmlns="http://www.w3.org/1999/xhtml">  
<head id="Head1" runat="server">  
    <title>c# example - string remove special characters</title>  
    <form id="form1" runat="server">  
        <h2 style="color:MidnightBlue; font-style:italic;">  
            c# example - string remove special characters
        <hr width="550" align="left" color="Gainsboro" />  
        <br /><br />
            Text="string remove special characters"  
More c# examples