title: Split a string into substrings
body: <p>I would like to split a string out into each of it own strings representing each field:</p>
  
  <pre><code>name,city,points,score,cards
  </code></pre>
  
  <p>I have these strings:</p>
  
  <pre><code>Paul Grid - Hong Kong 56  663 0
  Anna Grid - Tokyo 16  363 0
  Greg H.Johs - Hong Kong -6  363 4
  Jessy Holm Smith - Jakarta 8  261 0
  </code></pre>
  
  <p>Format is:</p>
  
  <pre><code>Name[SPACE]-[SPACE]City[SPACE]-Points[SPACE][SPACE]Score[SPACE]Cards
  </code></pre>
  
  <ul>
  <li>Name can have spaces and '.' in it</li>
  <li>City can have spaces in it</li>
  <li>There are sometimes double spaces between ex Score and Points</li>
  <li>Scores, Points, Card can be negative numbers</li>
  </ul>
  
  <p>The rule I would like to implement in Python, is the following:</p>
  
  <pre><code>Name : From beginning, until you see "-" - and then strip trailing space from that string.
  Cards: From end and back, until you meet the first space
  Score: From the space you hit when you made card, go back until next space.
  Points: From the space you hit when you made Score, go back until next space.
  City: where Name ended and where the Points stopped after seeing the space.
  </code></pre>
  
  <p>My problem here is that I can't just replace space as separator as space can be in name and city, and "-" is being used to separate name and city. </p>
  
  <p>I could do this the brute way and do the stepping through character per character but wonder if Python has a smart way of doing this?</p>
  
  <p>My end result wish is to have each line split up into fields, so i could address ex scorerecord.name, scorerecord.city etc.</p>