将一个字符串拆分(NOT PARSE)到命令行参数C#

Col*_*ole 9 .net c# command-line-arguments

敬礼,

我有一个似乎是一个简单的问题,但非常不是.我想取一个字符串并将其拆分为命令行参数.几周来我一直在谷歌搜索这个问题,找不到任何适合我需要的东西.

例如,行: --foo=bar -foo="bar test" --foo "bar \"test\"" --foo bar

会分成:( 按此顺序)

  • --foo=bar
  • -foo=bar test
  • --foo
  • bar "test"
  • --foo
  • bar

编辑

是的我意识到--foo一次使用更多.这是分裂/标记化.不解析,这是下一步.当我去解析时,我不在乎是否会出错.我现在要做的是将字符串转换为数组状态,然后我可以将其输入Mono.Options

编辑2

阅读这个例子.这就是我想要实现的目标.只是那个.

H. *_*rzl -4

如果您正在运行控制台应用程序,则命令行参数将传递给 Main 方法 (String[] args)。

无论如何,如果您想拆分参数,假设参数位于一个字符串变量中,您可以这样做:

var arguments = "--foo=bar -foo=\"bar test\" --foo \"bar \"test\" --foo bar";

var options = arguments.Split(new String[] { "-", "--" }, StringSplitOptions.RemoveEmptyEntries);

// Output
// [0]: "foo=bar "
// [1]: "foo=\"bar test\" "
// [2]: "foo \"bar \"test\" "
// [3]: "foo bar"
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述