【发布时间】:2013-10-23 13:29:16
【问题描述】:
是否可以将空格作为命令行参数传递给 C# 程序?
我正在编写一个解析文本文档的脚本,并希望允许用户指定自己的分隔符,而不是硬编码。
但是,如果分隔符是一个空格,那么无论是否用引号括起来,程序都会将其视为参数。
【问题讨论】:
-
如果在命令行上执行
yourProgram.exe "test" " ",那么它将接收两个参数,一个test另一个" "是空格,这应该可以工作。
是否可以将空格作为命令行参数传递给 C# 程序?
我正在编写一个解析文本文档的脚本,并希望允许用户指定自己的分隔符,而不是硬编码。
但是,如果分隔符是一个空格,那么无论是否用引号括起来,程序都会将其视为参数。
【问题讨论】:
yourProgram.exe "test" " ",那么它将接收两个参数,一个test 另一个" " 是空格,这应该可以工作。
Environment.CommandLine 将为您提供完整的命令行,包括任何空格。尽管我认为您的用户传递制表符或换行符会很棘手。我建议让他们将字符代码传递给分隔符。
【讨论】:
这可能会有所帮助:
Escape command line arguments in c#
根据其他一些类似问题的说法,使用正则表达式似乎是要走的路。
(恐怕没有真正做过多少C#,只是在主页上看到了这个)
【讨论】:
你可以传入带引号的空格“” 例如
FileParsing.exe arg1 " " arg3 "一些其他的 arg"
【讨论】: