【发布时间】:2017-05-16 11:57:15
【问题描述】:
我想将以下字符串作为输入:
first-arg second-arg "third arg with spaces" "arg with \" quotes"
并将这个字符串列表作为输出返回
["first-arg", "second-arg", "third arg with spaces", "arg with \" quotes"]
是否有任何 nuget 包或内置函数可以做到这一点?我希望它能够处理边缘情况,例如包含多个单词的参数和包含引号的参数。
【问题讨论】:
-
我使用了一个叫做 Consolas 的工具来做这样的事情。那是很久以前的事了,所以我不记得它到底能做什么。 nuget.org/packages/Consolas
-
这很难做还是怎么回事?我能看到的唯一例外是序列
\",例如,您可以用"分割/查找/任何东西之前替换它。 -
一个好的 CSV 解析器应该会为您处理。
-
既然在你的标题中你说“解析命令行字符串”那么你实际上不需要做任何事情。如果您提供的有问题的行作为命令行参数传递给您的应用程序 - 它将在
Main(string[] arguments)函数中正确解析为具有 4 个元素的数组。
标签: c#