title: Effective algorithm for matching complex name variations using Java
body: <p>I have to match a number of store names and I am having a difficult time getting Levenshtein and SoundEx to yield acceptable results given my data.</p>
  
  <p>Here are a few examples of what I'm dealing with:</p>
  
  <pre><code>The Home Depot 
  Office Depot
  Apple store 
  Apple 
  Walgreens 
  Walgreens Denver 
  Quiznos 
  Quiznos Sandwich Restaurants
  </code></pre>
  
  <p>So given "Quiznos Sandwich Restaurants", for example, I'd want to match it to "Quiznos"... "Walgreens Denver" to "Walgreens". I have a whole list of these store names.</p>
  
  <p>Any help would be great.</p>