Efficient way to get part of a string
<p>I have a name which is made of a <code>prefix</code> a <code>type</code> and name , i want to retrieve the <code>name</code> part.</p>

<p><code>Prefix</code> always remains same but <code>Type</code> can change. </p>

<p>I have the following code to get the name part:                   </p>

<pre><code>            string prefix = "Prefix-";
            string str =prefix + "Type-hello-j---.xml"; 
            str = Path.GetFileNameWithoutExtension(str);
            str = str.Substring(prefix.Length);
            str = str.Substring(str.IndexOf('-') + 1); 
</code></pre>

<p>In the above example the name part is: <code>hello-j---</code>
Is there any efficient/better way to do the same in C# ?</p>
