title: Tokenize a string with delim of strings
body: <p>If I have a string like</p>
  
  <blockquote>
    <p>"This is a string that will be split by this and that"</p>
  </blockquote>
  
  <p>I would like to get the split results as</p>
  
  <ol>
  <li>"is a string that will be split by"</li>
  <li>"and that"</li>
  <li>"this is a string"</li>
  <li>"will be split by this and"</li>
  </ol>
  
  <p>1 and 2 are split by "this"
  3 and 4 are split by "that"</p>
  
  <p>My solution is use a map of string to string and store the result in another map of the same type-string to string. However, for more complex and longer text, the results stored in the map become repeated, i.e as in the above 1 and 3 the substring "is a string" is repeated and this redundancy produces incorrect statistical results.</p>
  
  <p>Would you please offer a neat better solution to tokenizing a long string with delimiters that are different long strings?</p>