Не разбивается строка на слова

Есть строка, получаемая из листбокса. Примерно выглядит так: "Аммиак, Валентность: 123, ЭлФормула: 456" Мне нужно вывести в текстбоксы "Аммиак", "123", "456". Первое значение "Аммиак" выводит верно, а в остальных случаях выводит: "123, Э" и ": 123,". Помогите, я вообще не понимаю, что делаю не так. Код:

        {
            string chimchange = listBox1.SelectedItem.ToString();
            string namekolvo, valkolvo, elfromula, mas, zar;
            int namec, valc, elc, masc, zarc = 0;

            namekolvo = chimchange.Substring(0, chimchange.IndexOf(','));
            textBox1.Text = namekolvo;
            namec = namekolvo.Length;
            namec += 15; //Считаем длину хим.элемента и прибавляем количество символов, которые не хотим выводить, чтобы следующую строку выбирать с этого индекса

            valkolvo = chimchange.Substring(namec, chimchange.IndexOf(","));
            textBox3.Text = valkolvo;
            valc = valkolvo.Length;
            valc += 13;

           elfromula = chimchange.Substring(valc, chimchange.IndexOf(','));
            textBox4.Text = elfromula;
            elc = elfromula.Length;
            elc += 10;
        }

Ответы (1 шт):

Автор решения: Andrew
var neededValues = listBox1.SelectedItem
                           .ToString()
                           .Split(",")
                           .Select( a => a.Replace("Валентность: ","").Replace("ЭлФормула: ","") )
                           .ToArray();

соответственно получаем

//neededValues[0] == "Аммиак"
//neededValues[1] == "123"
//neededValues[2] == "456"
→ Ссылка