I have the following:
string test = "9586-202-10072"
You can get the position of the last
str.LastIndexOf('-'). So the next step is obvious:
var result = str.Substring(str.LastIndexOf('-') + 1);
As Brian states below, using this on a string with no dashes will result in the same string being returned.