title: Java library or algorithm to extract person information from String
body: <p>I am looking for a Java library or algorithm to extract person information from a String.
  How I can extract person attributes from a String?</p>
  
  <p>Example:</p>
  
  <pre><code>String s = "Mr. Dr. Tom Jones";
  
  Person person = new Person(s); 
  p.getSurename(); // Jones
  p.getFirstname(); // Tom 
  p.getSalutation(); // Mr. 
  p.getTitle(); // Dr.
  </code></pre>
  
  <p>I am looking for a library based on algorithms via Fuzzy, Levenshtein or Phonetik. I have lists with titles, names and salutations to compare.</p>
  
  <p>I believe there isn't a perfect way. Sure there are many exceptions about name-conventions (some middle names, Jr. abbreviation, ...).  Maybe someone has taken the step?</p>