title: Parsing through Arabic / RTL text from left to right
body: <p>Let's say I have a string in an RTL language such as Arabic with some English chucked in:</p>
  
  <p><code>string s = "Test:لطيفة;اليوم;a;b"</code></p>
  
  <p>Notice there are semicolons in the string. When I use the Split command like <code>string[] spl = s.Split(';');</code>, then some of the strings are saved in reverse order. This is what happens:</p>
  
  <p>‏‏‏‏‏spl[0] = "‏Test:لطيفة"<br>
  spl[1] = "‏"اليوم<br>
  spl[2] = ‏"a"<br>
  spl[3] = ‏"b"  </p>
  
  <p>The above is out of order compared to the original. Instead, I expect to get this:</p>
  
  <p>‏‏spl[0] = ‏"Test:اليوم"<br>
  spl[1] = "‏لطيفة"<br>
  spl[2] = ‏"a"<br>
  spl[3] = ‏"b"  </p>
  
  <p>I'm prepared to write my own split function. However, the chars in the string also parse in reverse order, so I'm back to square one. I just want to go through each character as it's shown on the screen.</p>