Tengo una cadena de expresión:
10+5*Math.Tan(40)+Math.Cos(0)+40*Math.Sin(90)
Quiero extraer estas funciones matemáticas (usando expresiones regulares, etc.) y evaluar su valor:
tan(40),sin(90)
para que la cadena de expresión se convierta en:
10+5*(-1.11)+1+40*1
¿Cómo hacerlo?
Respuestas
0 para la respuesta № 1Puedes usar esta expresión regular para encontrar las funciones en tu cadena. El primer grupo será la Palabra detrás de la "Matemática". (Tan, Cos, Sin) y el segundo grupo será, lo que está dentro de los paréntesis (40, 0, 90):
Math.(w+)((.*?))
Después de encontrarlos, puedes evaluarlos y reemplazarlos.