Refining a Wildcard Search, Part 2
In yesterday's post, I showed how to exclude certain words from a wildcard search. Yet since I did so in the context of a complex search we had built over the course of several other blog posts, I thought it would be helpful in this post to back up and explain this feature more simply and systematically.
Let's start with a simple search for the word "love." In the HCSB (my preferred translation), this word occurs 569 times. Yet this simple search does not find other forms of "love," such as "loves," "loved," "loving," etc. If I want to broaden my search to include those other forms, I can replace the "e" with an asterisk wildcard. Searching for "lov*" will find any word beginning with "lov", because the asterisk symbol represents any combination of other characters. When I perform this search in the HCSB, I get 798 occurrences.
A convenient way to see all the different words that were found is to choose Analysis from the Stats and Graphs pop-up menu.
This will open a window listing every English word found by my search. If you're searching an English Bible tagged with Strong's numbers, such as the HCSBS, the Analysis will even list all the Greek and Hebrew words behind the English. In this screenshot, I've turned off the Key number display so we can see all the English words at a glance.
Now, looking at this list, I may find that my wildcard search was a little too broad, returning results I didn't intend. For example, I want to find all forms of "love," but I don't want to find things like "lovemaking," "lovely," etc. So how can I refine this search so that it is broader than my first search for "love" but narrower than my second search for "lov*"?
As I showed you yesterday, I can place a minus sign after a wildcard search to exclude the forms I don't wish to find. Thus, "lov*-lovemaking" will find every word beginning with "lov" except "lovemaking." If I want to exclude other words, I can simply add those after additional minus signs.
I can even use wildcard symbols in the words I'm excluding. For example, to eliminate words like "lovely" and "loveliness," I can add "-lovel*". My entire search argument would then look like this: "lov*-lovemaking-lovel*". And my resulting word list is as follows:
If you've been following along and trying to do this yourself, how would you now eliminate words like "lover," "lovers," and "lovesick"?