如何从Excel公式的参数在c#中build立一个string列表

我的问题听起来很奇怪,但这就是我所处的情景。 我需要parsing一个Excel公式(从Office.Interop.Excel获取它)并从公式中获取参数(参数的#可以变化)有多种情况需要考虑。 例如:

 1. myformula("param1", "param2") 2. myformula("param1", A2) 3. myformula("param1", , "param3") 4. myformula(A1, , "param3") 5. myformula("param1, has commas in it", "param2") 

有没有更好的方法来parsing这一点,而不是有多个分支(特别是考虑当string数组混合,即一些参数有引号和其他参数是参考参数)?

使用string split(',')似乎没有太大的帮助,因为我可以在参数本身有逗号。

我也试过了

 string[] paramArray = new string[]{(parameters)} 

where parameters = "\"param1\", \"param2\"";

但似乎也没有工作(如果我有一个空的参数,这将不会工作,但这是另一种情况)。

我的结果应该是某种数组(或列表或任何其他集合),将包含所有的参数,如果一个参数没有引号,那么我需要评估它。

任何帮助,将不胜感激。

我会处理string寻找"或者,如果”发现searchfwd寻找closures"忽略任何,一路上,考虑到可能性的阻碍"的参数。 当你收到closures"简历寻找"或重复。

另一个select是使用split,然后检查结果中以""开始的元素。将这些与下一个数组元素合并为完整的参数(可能需要合并2个连续的数组元素)。 "zzz"",""xxx" (单个string,即= zzz“,”xxx)