2009-09-21 4 views
0

문자열 "Sin()"의 텍스트를 Math.Sin()의 계산 된 값으로 바꾸려면 where ... anything가 필요합니다.vb.net에서의 까다로운 대체

내 문제 : 문자열에 둘 이상의 오른쪽 괄호가있을 수 있습니다. 또한, 그것은 수학적 연산을 수행하기 때문에, 가장 안쪽에있는 것을 먼저 수행하는 방법을 알아야 할 것입니다.

분명히 이전 질문에서 언급했듯이 수학 방정식을 계산하기위한 방법은 없습니다 (물론, 여기에 사용되는 것은 지원되지 않습니다).

이것은 매우 까다 롭습니다. 아무도 도와 줄 수 있습니까?

답변

1

입력 텍스트가 tokenize이되고 토큰을 구문 분석하려고합니다. Alex Martelli points out처럼 CodeProject도 비슷한 a good example을 가지고 있습니다 (Google에서는 < Google에서 10 초가 걸렸습니다).

0

vb.net here에 표현 파서 및 평가자의 좋은 예가 있습니다. 해당 소스를 연구하고 수정할 수 있으며 (명확한 텍스트 설명도 제공합니다) 상상해보십시오.