【发布时间】:2017-02-07 09:06:05
【问题描述】:
问候,
我有一个看似简单的问题,但实际上并非如此。我想获取一个字符串并将其拆分为命令行参数。我已经在谷歌上搜索这个问题好几个星期了,找不到任何适合我需要的东西。
例如,以下行:
--foo=bar -foo="bar test" --foo "bar \"test\"" --foo bar
将分为:(按此顺序)
--foo=bar-foo=bar test--foobar "test"--foobar
编辑
是的,我意识到 --foo 不止一次使用。这是拆分/标记化。不解析,这是下一步。我不在乎我去解析时是否会出错。我现在想做的是将字符串转换为数组状态,然后我可以将其输入 Mono.Options
编辑 2
阅读示例。这就是我想要完成的。 只是。
【问题讨论】:
-
您是否创建了 MCVE?
-
为什么要拆分 args?这通常在您使用控制台执行应用程序时自动完成。然而,解析 args 有很多工具,例如 CommandLine-parser。
-
@HimBromBeere 这不是一次性应用程序。命令字符串将从套接字连接提供
-
@Cole - 最好在问题中明确你不是从实际命令行中得到这个但想要复制操作系统所做的解析。
-
@Cole check this question 使用 String.Split 或正则表达式对命令行进行标记并非易事。基于字符的解析器要容易得多。 Windows 也为此提供了一个 Win32 API 函数,
CommandLineToArgvW
标签: c# .net command-line-arguments