C# 解释器参数

C# 解释器参数,c#,visual-studio,C#,Visual Studio,我又回到了C#,我遇到了一个问题。我正在做一个翻译,我需要得到字符串和数字。我的第一个方法是使用正则表达式,但我不知道如何使用它 假设我有这个: print "string 1" "string 2" 10 我需要获得一个args/参数数组: {'string 1', 'string 2', '10'} 因此,如果您能提供帮助,我将不胜感激。如果您从控制台运行程序,您的参数将被传递到Main(string[]args)中,其中args包含您的参数您试图通过。C#有很多lexer(只需在谷歌上

我又回到了C#,我遇到了一个问题。我正在做一个翻译,我需要得到字符串和数字。我的第一个方法是使用正则表达式,但我不知道如何使用它

假设我有这个:

print "string 1" "string 2" 10
我需要获得一个args/参数数组:

{'string 1', 'string 2', '10'}

因此,如果您能提供帮助,我将不胜感激。

如果您从控制台运行程序,您的参数将被传递到
Main(string[]args)
中,其中args包含您的参数

您试图通过。C#有很多lexer(只需在谷歌上快速搜索),但如果你想学习,你可以自己构建一个

您要求执行lexer工作的第一步,称为标记化,即正确地将字符串拆分为更小的字符串(称为标记),同时考虑单引号/双引号、转义字符、变量扩展等因素

标记化是一项简单的任务,您将发现大量现成的库。过程是这样的:

  • 逐个字符扫描输入字符串
  • 标记每个令牌的边界
  • 将子字符串(标记)提取到数组

是的,但是就像我说的,我想用空格分割,但是如果我有一个字符串参数,比如“你好!”我想用空格来分割。你需要一个lexer。谷歌的点击率相当高。武断的,已经被审查了很长一段时间。翻译什么?除非您要解释的“语言”非常原始且非常有限,否则您需要编写一些解析器和/或词法分析器,而这本身并不容易/快速完成。是的,有语法分析器和词法分析器库,但如果您仍然在使用正则表达式,我相信(我很抱歉!)尝试使用语法分析器/词法分析器库对您来说将更加困难…:-(这是一种非常简单的语言,没什么特别的。“没什么特别的”是的,我在什么地方听到过。因为它“不特别”这肯定很容易,或者我也听说了……我正在做一个解释器,不管怎样,我很感激你的回答。我使用foreach循环来做这件事,但它会一直持续下去。我以前写过Lexers,但它不会像你在输入字符串的相同字符上反复迭代那样工作。