@shaahin, если есть ограничение в формате входной строки, например, вы можете сделать:

у извлечь переменные из математического выражения, используя c #. Я написал этот код, и он работает правильно:

List<string> Variables = new List<string>();
string temp = string.Empty;
Console.WriteLine("Please enter ur expression");
string Expression = Console.ReadLine().Trim();
int Index;
for (Index = 0; Index <= Expression.Length - 1; Index++)
{
    if (char.IsLetter(Expression[Index]))
    {
        temp = temp + Expression[Index];
    }
    else
    {
        if (temp.Length > 0)
        {
            Variables.Add(temp);
            temp = string.Empty;
        }
    }
}
if (temp.Length > 0)
{
    Variables.Add(temp);
}
foreach (string item in Variables)
{
    Console.WriteLine(item);
}
Console.ReadKey();

Я должен обнаружить SIN и COS из выражения, поэтому я буду удалять SIN и COS из переменных.

Это хороший способ?Можно ли сделать это с помощью регулярных выражений или более эффективными способами?Этот код нуждается в рефакторинге?

После извлечения я хочу заменить переменные значениями из ввода и вычислю результат выражения.