Если вы хотите, чтобы перед каналом были только цифры, вы можете сделать:
string n = s.Substring(0, d);
(Сделайте это d + 1
, если хотите, чтобы символ канала также был включен.)
Я могу ошибаться, но я думаю, что у вас сложилось впечатление, что параметр string.Substring(int)
представляет «длину».Это не;он представляет «начальный индекс» искомой подстроки, взятой до конца строки.