I have a problem for which I hope there is a simple fix...

I have created a program that allows teachers/students to graph and print many different types of equations and functions that one would find in a typical HS math course...I have created interfaces for many different types of graphs such as polynomial functions, exponential functions, polar equations...etc.
What I want to do now is allow users to input the right hand side of an equation and have the program graph it for them...just like a typical graphing calculator. My question is how to read a string of numbers, operations, variables and grouping symbols from a textbox...Will I have to parse out every character and treat it separately or is there a simpler solution.
Ex: I want them to type in something like: 2x^4+3x(2x-5)/12

Thanks!!! Mike