Counting words with Regular Expression

Returns the number of words. Words are broken by punctuation, a space, or by being at the start or the end of string.

/// <summary>
/// Returns the number of words.
/// </summary>
/// <param name="source">Your text</param>
/// <returns></returns>
public static int CountWords(this string source)
{
    if (string.IsNullOrWhiteSpace(source))
        return 0;

    MatchCollection collection = Regex.Matches(source.Trim(), @"[\S]+");
    return collection.Count;
}

How to use it:

    string fabio = "Hi, My name is Fabio";
    
    Console.WriteLine(fabio.CountWords()+""); //displays 5
    

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s