new Regex(@"\b5\b").Replace("1-2-5-7-8-9-10-15", "2");
\b
соответствует границе слова.Это означает, что «-5-» будет соответствовать, но «-15-» не будет.
Это также будет обрабатывать случай, когда совпадение находится на краю строки и не имеет дефисс обеих сторон, например, «5-» и «-5».