使用C#对字符串进行标记化

时间:2014-10-14 02:47:15

标签: c# regex tokenize

我想使用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,但是这个表情真的很快,所以在我收取风车之前,我想我会问这里。

标记给定字符串的好方法是什么? 是否有任何标准库或模块可以帮助解决这个问题?

0 个答案:

没有答案