[Home] [Puzzles & Projects] [Delphi Techniques] [Math topics] [Library] [Utilities]
|
| Parsing strings into words is a common problem. So common that I decided to post a sample GetNextWord subroutine here. The sample program reads a text file and counts words. I think the code is fairly self explanatory so I'll keep this discussion brief. The GetNextWord function takes a string and extracts the first word. If a word is found the function result is true, otherwise false. The returned word is removed from the input string, so it's necessary to move input text to a temporary string first (unless you have no more use for the original text). A constant, delims, defines the set of characters which separate words. The program is also an example of inserting an object along with the word into a TStrings component The Items list in the TListbox component displays the words and each entry also contains a TCount object. Each TCount contains a single field, the count of number of occurrences of a word. For each word we can use the Indexof method to determine if the word is already in the list. If it is, we'll just add one to the count field in the TCount object. If the word is not in the list, we'll create a new TCount object, set the count field to 1 and add both the word and the object to Items. After all words have been loaded, we can run through the list and add the string representation of the count to the displayed word. We'll also free the objects as we do this since we're done with them. |
[Feedback] [Newsletters (subscribe/view)] [About me]Copyright © 2000-2018, Gary Darby All rights reserved. |