How to Check If String Contains a Character in C#?

One of the most common operations when working with strings in C# is to check whether a string contains a certain character or set of characters. This operation is crucial in many scenarios including text processing, parsing, or while performing validations.

In C#, there are several ways to accomplish this, ranging from straightforward methods provided by the string class to more advanced techniques involving Regular Expressions. In this C# tutorial, we’ll explore multiple ways to check if a string contains a character in C#.

Check If String Contains a Character in C#

Now, let us check if a string contains a character in C# using various methods with examples.

1. Using string.Contains Method

The most straightforward way to check if a string contains a character is by using the Contains method provided by the string class in C#.

Example 1: Checking for a Single Character

using System;

namespace StringContainsChar
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = "Alice";
            char characterToCheck = 'l';

            if (name.Contains(characterToCheck))
            {
                Console.WriteLine($"The name {name} contains the character {characterToCheck}.");
            }
            else
            {
                Console.WriteLine($"The name {name} does not contain the character {characterToCheck}.");
            }
        }
    }
}

You can check the output like below in the screenshot when you run the code in Visual Studio.

c# check if string contains character

Example 2:

Here is another example to check if a string contains a character by using C# string.contains() method.

using System;

namespace StringContainsChar
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] usaNames = { "John", "Emily", "Michael", "Sarah" };
            char characterToCheck = 'a';

            foreach (var name in usaNames)
            {
                if (name.Contains(characterToCheck))
                {
                    Console.WriteLine($"The name {name} contains the character {characterToCheck}.");
                }
            }
        }
    }
}

2. Using string.IndexOf Method

Another way to check for the presence of a character is by using the IndexOf method, which returns the zero-based index of the first occurrence of a character. If the character is not found, it returns -1.

Example:

using System;

namespace StringContainsChar
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = "Emily";
            char characterToCheck = 'm';

            if (name.IndexOf(characterToCheck) >= 0)
            {
                Console.WriteLine($"The name {name} contains the character {characterToCheck}.");
            }
            else
            {
                Console.WriteLine($"The name {name} does not contain the character {characterToCheck}.");
            }
        }
    }
}

3. Using LINQ

For more advanced checks or if you are already using LINQ, you can also utilize the Any method from the System.Linq namespace. Here is a complete code to check if string contains character in C# using LINQ.

Example:

using System;
using System.Linq;

namespace StringContainsChar
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = "Michael";
            char characterToCheck = 'a';

            if (name.Any(c => c == characterToCheck))
            {
                Console.WriteLine($"The name {name} contains the character {characterToCheck}.");
            }
            else
            {
                Console.WriteLine($"The name {name} does not contain the character {characterToCheck}.");
            }
        }
    }
}

4. Using Regular Expressions

While it may be overkill for simple checks, Regular Expressions provide a flexible way to perform pattern matching. Here is the complete code to check if astring contains characters in C# using Regular expressions.

using System;
using System.Text.RegularExpressions;

namespace StringContainsChar
{
    class Program
    {
        static void Main(string[] args)
        {
            string name = "Sarah";
            char characterToCheck = 'r';

            if (Regex.IsMatch(name, characterToCheck.ToString()))
            {
                Console.WriteLine($"The name {name} contains the character {characterToCheck}.");
            }
            else
            {
                Console.WriteLine($"The name {name} does not contain the character {characterToCheck}.");
            }
        }
    }
}

I have run the above code using Visual Studio and you can see the output below:

Check If String Contains a Character in C#

Conclusion

Checking if a string contains a character in C# is a straightforward task but can be done in multiple ways depending on your specific requirements. Each method has its own use-cases, and you can choose the one that best fits your needs.

We covered how to do this using the Contains, IndexOf methods of the string class, LINQ’s Any method, and even with Regular Expressions. I hope you got an idea of “c# check if a string contains a character“.

You may also like the following tutorials: