拜,
我有一个似乎是一个简单的问题,但实际上并非如此。我想取一个字符串并将其拆分为命令行参数。几周来我一直在谷歌搜索这个问题,找不到任何适合我需要的东西。
例如,该行:
--foo=bar -foo="bar test" --foo "bar \"test\"" --foo bar
将拆分为:(按此顺序)
--foo=bar
-foo=bar test
--foo
bar "test"
--foo
bar
修改
是的我意识到--foo一次使用更多。这是分裂/标记化。不解析,这是下一步。当我去解析时,我不在乎是否会出错。我现在要做的是将字符串转换为数组状态,然后我可以将其输入Mono.Options
编辑2
阅读示例。这就是我想要实现的目标。 只是那个。
答案 0 :(得分:-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"
答案 1 :(得分:-5)
只需使用Environment.GetCommandLineArgs()
即可。
这将为您提供一个表示命令行参数
的字符串数组