Extrair decimal do início da string

Eu tenho uma corda como5.5kg ou7.90gram e eu quero pegar5.5 ou7.90 como um valor decimal. Como posso obter esse resultado em C # e mais uma coisa que minha string sempre começa com decimal.

Aqui está o meu código que gera um erro sempre que encontrar qualquer coisa, exceto um decimal.

string weight = attributeValue;
if (!string.IsNullOrEmpty(weight))
{
    product.Weight = Convert.ToDecimal(attributeValue);
}
else
{
    product.Weight = 0.00m;
}

questionAnswers(3)

yourAnswerToTheQuestion