Fast string search (indexOf) using the Boyer-Moore
algorithm. Incorporate this class into your own Java
programs to rapidly search strings.
Boyer b = new Boyer("dogcatwombat");
int where = b.indexOf("cat");
int where = Boyer.indexOf("dogcatwombat","cat");
Boyer-Moore is about twice as fast as String.indexOf when
the string you are searching in is 2K or over and the
pattern you are searching for is 4 characters or longer.
String.indexOf is particularly slow when the pattern begins
with a common letter such as "e". Boyer-Moore is fastest
when the pattern is long and composed only of uncommon
letters, e.g. "z" or "^". If you use a char instead of
String for your text to be searched, it will run an
additional 33% faster.
Boyer automatically reverts to String.indexOf when that
would be faster.
» version 1.5 - posted on 2007-05-21
add icon and pad file
This program is for non-military use only.
For details on what that licencing restriction means and why I restricted this software that way, see http://mindprod.com/contact/nonmil.html
If you incorporate any of my code in your programs, they too must be marked for non-military use only.
However it is not your responsibility to enforce that restriction.