String.Split is convenient for splitting a string with in multiple part on a delimiter.
How should I go on splitting a string only on the first delimiter. E.g. I\'ve
I've adopted a variation to Thorarin's answer above, The below should be able to handle your requirement, plus trim the spaces.
yourString.Split(new []{'-'},2).Select(s => s.Trim())