Count how many times a word appears in an array of words. : String Array « Data Types « C# / C Sharp






Count how many times a word appears in an array of words.

    

#region Copyright (c) 2004, Ryan Whitaker
/*********************************************************************************
'
' Copyright (c) 2004 Ryan Whitaker
'
' This software is provided 'as-is', without any express or implied warranty. In no 
' event will the authors be held liable for any damages arising from the use of this 
' software.
' 
' Permission is granted to anyone to use this software for any purpose, including 
' commercial applications, and to alter it and redistribute it freely, subject to the 
' following restrictions:
'
' 1. The origin of this software must not be misrepresented; you must not claim that 
' you wrote the original software. If you use this software in a product, an 
' acknowledgment (see the following) in the product documentation is required.
'
' This product uses software written by the developers of NClassifier
' (http://nclassifier.sourceforge.net).  NClassifier is a .NET port of the Nick
' Lothian's Java text classification engine, Classifier4J 
' (http://classifier4j.sourceforge.net).
'
' 2. Altered source versions must be plainly marked as such, and must not be 
' misrepresented as being the original software.
'
' 3. This notice may not be removed or altered from any source distribution.
'
'********************************************************************************/
#endregion

using System;
using System.Collections;
using System.Text.RegularExpressions;

namespace NClassifier
{
  public class Utilities
  {



    /// <summary>
    /// Count how many times a word appears in an array of words.
    /// </summary>
    /// <param name="word">The word to count.</param>
    /// <param name="words">A non-null array of words.</param>
    public static int CountWords(string word, string[] words)
    {
      // find the index of one of the items in the array
      int itemIndex = Array.BinarySearch(words, word);

      // iterate backwards until we find the first match
      if (itemIndex > 0)
        while (itemIndex > 0 && words[itemIndex] == word)
          itemIndex--;

      // now itemIndex is one item before the start of the words
      int count = 0;
      while (itemIndex < words.Length && itemIndex >= 0)
      {
        if (words[itemIndex] == word)
          count++;

        itemIndex++;

        if (itemIndex < words.Length)
          if (words[itemIndex] != word)
            break;
      }

      return count;
    }
    }
}

   
    
    
    
  








Related examples in the same category

1.Generates a hashcode for the string array
2.removes the specified strings in the string array from the input string
3.Find all unique words in an array of words.
4.Gets an array of sentences from a string.
5.Array To New Line Separated String
6.New Line Separated String To Array
7.returns the elements of the array as a string, delimited with the default delimitor
8.Ensures that a given array can hold up to minCapacity elements.
9.Strings to byte array.
10.String Array To String
11.Processes a string and returns the arguments in an array.
12.Demonstrate string arraysDemonstrate string arrays
13.String To Char ArrayString To Char Array
14.Comparing string to char array