【问题标题】:Get arguments like normal windows cmd does像普通的 windows cmd 一样获取参数
【发布时间】:2016-06-03 17:15:52
【问题描述】:

我想知道是否有一种方法(内置或由第三方实现)来获取字符串并将其转换为字符串数组,例如 Windows Cmd 转换为应用程序提供的参数。 因此,如果我写例如goat "evil goat" -g,我希望字符串转换为具有三个单元格的数组(goatevil goat(不确定是否保留引号,但我认为没有)、-g)。我知道我可以手动实现它,但我想知道是否有某种方法可以自动实现。

如果有人想知道,这是一个命令解释器,字符串将从TextBox.Text 中读取,使用Button

欢迎提供相关信息的链接!

【问题讨论】:

标签: c# string command-line command-line-arguments


【解决方案1】:

您可以使用正则表达式来做您想做的事情,如下所示:

public static List<string> GetCommandLineArguments(string commandline){
    var arguments = Regex.Matches(commandline, @"[\""].+?[\""]|[^ ]+")
                .Cast<Match>()
                .Select(m => m.Value)
                .ToList();
    return arguments;
}

【讨论】:

  • 哇,这是个老问题了。让我快速尝试一下! - 当我问这个问题时,这可能是我最终做的。无论如何感谢您的帮助! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-01
  • 2019-02-07
  • 2014-03-03
  • 2011-06-11
  • 1970-01-01
  • 2021-10-15
相关资源
最近更新 更多