將命令列參數字串在 C# 中分割成字串陣列
在 C# 中,命令列參數作為字串陣列 string[]
傳遞。問題是如何從包含命令列參數的單一字串中提取此數組?
沒有直接可用的標準函數來完成此任務。但是,我們可以使用自訂函數或正規表示式來正確分割字串。
可以使用基於字元檢查的自訂函數來分割字串。該函數檢查每個字元並確定是否應分割字串。函數形式如下:
<code class="language-csharp">public static IEnumerable<string> SplitCommandLine(string commandLine) // ...</code>
演算法如下:
inQuotes
為 false
。 inQuotes
的值。inQuotes
為 false
且字元是 ' ',則分割字串。 可以使用以下擴充方法擴充功能:
public static IEnumerable<string> Split(this string str)
public static string TrimMatchingQuotes(this string input, char quote)
要使用函數,請提供包含命令列參數的單一字串,並接收包含各個參數的 string[]
陣列:
<code class="language-csharp">string[] parameterArray = SplitCommandLine(parameterString).ToArray();</code>
<code class="language-csharp">public static void Test(string cmdLine, params string[] args) // ...</code>
可以使用自訂測試來驗證分割演算法的準確性。此函數將分割後的陣列與預期陣列進行比較,並斷言它們相等。
透過使用自訂函數或正規表示式,我們可以有效地將包含命令列參數的字串分割成string[]
數組,捕獲各個參數,就像在命令列上指定參數時C# 的處理方式一樣。
以上是如何在 C# 中將單一命令列參數字串拆分為字串數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!