我想使用C#代码标记包含函数原型定义的字符串(即标记化在C#中实现)。
通用函数原型如下所示:
[String var1, String var2, Integer var3], Double[] var4, Double[,] var5 = MyFunction(Dates[] dates, Double[,] prices, Double upperBoundWeight)
我对C#比较新。我的尝试根据" ="将句子分为左右两边。字符和我分别标记它们。代码如下:
string[] words = exampleString.Split(new string[]{", "}, StringSplitOptions.None);
foreach (string word in words)
{
Console.WriteLine(word);
}
注意","之后的空格。我迫使用户在输入定义中使用空格。只查看我的字符串输入的LHS的字符串,我得到了
[String var1
String var2
Integer var3]
Double[] var4
Double[,] var5
这与我正在寻找的非常接近,除了我想将var1,var2和var3分组(即它应该与1级深度的嵌套表达式一起使用)。
代码非常脆弱,因为丢失的空格等会导致它破坏。
当然必须有一个更好的方式。我试过Regex.Split,但是这个表情真的很快,所以在我收取风车之前,我想我会问这里。
标记给定字符串的好方法是什么? 是否有任何标准库或模块可以帮助解决这个问题?