title: How do I parse the people's first and last name in Python?
body: <p>So basically I need to parse a name and find the following info:</p>
  
  <ul>
  <li><p>First Name</p></li>
  <li><p>First Initial (if employee has initials for a first name like D.J., use both initials)</p></li>
  <li><p>Last Name (include if employee has a suffix such as Jr. or III.)</p></li>
  </ul>
  
  <hr>
  
  <p>So here's the interface I'm working with:</p>
  
  <p><strong>Input:</strong></p>
  
  <pre><code>names = ["D.J. Richies III", "John Doe", "A.J. Hardie Jr."]
  for name in names:
     print parse_name(name)
  </code></pre>
  
  <p><strong>Expected Output:</strong></p>
  
  <pre><code>{'FirstName': 'D.J.', 'FirstInitial': 'D.J.', 'LastName': 'Richies III' }
  {'FirstName': 'John', 'FirstInitial': 'J.', 'LastName': 'Doe' }
  {'FirstName': 'A.J.', 'FirstInitial': 'A.J.', 'LastName': 'Hardie Jr.' }
  </code></pre>
  
  <p>Not really good at Regex, and actually that's probably overkill for this.  I'm just guessing:</p>
  
  <pre><code>if name[1] == ".":  # we have a name like D.J.?
  </code></pre>