C# First SentenceGet the first sentence from a paragraph using a for-loop and switch statement.
First sentence. A first sentence has importance. How can we get the first sentence in a paragraph? Parsing the English language is exceedingly hard. Instead of aiming for a perfect implementation, we present here a simple method.
The FirstSentence method presented here loops through the paragraph string beginning at the first character. When the period is encountered, it checks that the period is followed by a whitespace. This signals the end of a sentence.
Also: In the switch, the "?" and the "!" characters are considered sentence ending characters.
C# program that gets first sentence
static void Main()
string paragraph =
"Thank you for visiting this article. There are " +
"more articles on this website.";
"How can you make more money? The easiest thing to do " +
"would be to spend less.";
public static string FirstSentence(string paragraph)
for (int i = 0; i < paragraph.Length; i++)
if (i < (paragraph.Length - 1) &&
char.IsWhiteSpace(paragraph[i + 1]))
goto case '!';
return paragraph.Substring(0, i + 1);
Thank you for visiting this article.
How can you make more money?
a period and space for the ending character of a sentence because many abbreviations are used in the English language. For example, a URL like "www.dotnetperls.com" has no sentence ending characters.
Note: This method has weaknesses. It will consider the title "Mr" to end a sentence. This problem occurs in other places too.
However: Creating a method that handles all cases in the English language is challenging.
Summary. Sometimes, a simple method that handles most cases is appropriate. This method will work for writing samples that exclude certain words. An interesting challenge in computer science is handling natural languages.
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to firstname.lastname@example.org.