HomeSearch

C# First Words in String

Get the first several words in a string. Implement this logic in a FirstWords method.
First words. First words can be used to summarize text. They can generate a summary from a string that is much shorter than the entire string.
Notes, usefulness. This logic is useful for RSS and captions. We examine a C# method that counts words and returns the first words.
An example. We avoid all string copying except one Substring. We count spaces as we go over the string. When the number of spaces equals the number of words, we return the Substring.Substring

Parameter 1: The first parameter is the string you want to take the first words from.

Parameter 2: The second parameter is the number of words you want to extract from the start of the string.

Main: It prints out the first 7 words of each of the strings. The second line and the fourth line show only the first 7 words.

Console.WriteLineArray

Warning: Newlines are not handled by this method. Try using char.IsWhiteSpace instead of checking that each character is a space.

Environment.NewLinechar.IsWhiteSpace
C# program that gets first words using System; using System.Collections.Generic; using System.Linq; using System.Text; class Program { static void Main() { string[] exampleStrings = new string[] { "This is an example summary that we are using as an example.", "How many words are in this sentence? We only want the first few." }; foreach (string example in exampleStrings) { string firstWords = FirstWords(example, 7); Console.WriteLine(example); Console.WriteLine(firstWords); } } /// <summary> /// Get the first several words from the summary. /// </summary> public static string FirstWords(string input, int numberWords) { try { // Number of words we still want to display. int words = numberWords; // Loop through entire summary. for (int i = 0; i < input.Length; i++) { // Increment words on a space. if (input[i] == ' ') { words--; } // If we have no more words to display, return the substring. if (words == 0) { return input.Substring(0, i); } } } catch (Exception) { // Log the error. } return string.Empty; } } Output This is an example summary that we are using as an example. This is an example summary that we How many words are in this sentence? We only want the first few. How many words are in this sentence?
Notes, performance. Speed here is good because only one string copy is made. All we are doing here is counting spaces and returning a substring.Optimization
A summary. We extracted the first several words from a sentence. Use this C# method and adapt it to your precise needs to extract the first words from a string.
© 2007-2019 Sam Allen. Every person is special and unique. Send bug reports to info@dotnetperls.com.
Home
Dot Net Perls