Like SA suggests that is a job for Regex.
Here's how I would do it.
List<string> words = new List<string>()
MatchCollection matches = Regex.Matches("?$255*$50*$50*?"
, "\$(?<word>.+?)\*");
foreach(Match match in matches)
words.Add(match.Groups["word"].Value);
In addition to the links provided by SA,
there are plenty of Regular expression articles here on the Code Project[
^]