2010-09-08 13 views
2

用於分隔命令行參數(如空格,\ t)的字符是什麼? 如何檢查一個字符串是否包含分隔符? 例如:Check("abcd")是假的,Check("ab cd")Check("ab\tcd")是真的命令行參數分隔符以及如何在C#中檢查它?

+2

見[含有命令行參數轉換成在C#字符串數組分割字符串](http://stackoverflow.com/questions/298830/split-string-containing-command-line-parameters-into-字符串在-C)。它有一個託管解決方案和調用Windows CommandLineToArgvW函數的指令。 – 2010-09-08 04:20:18

回答

1

C#默認分割上的空白基地的論據,不應該有一個需要分割你的論點。

但是,如果你一定要做到出於某種原因,然後

您可以分割你命令使用string.split(」「)行參數和得到的字符串數組

所以基本上,你會做什麼這樣

bool Check(string argument) 
{ 
    string[] arguments = argument.split(' '); 
    if (arguments.Length > 1) // In your case if you are expecting 2 or more arguments 
    { 
     return true; 
    } 
    return false; 
} 
+1

但是還有其他的分隔符而不是空格,對嗎? – 2010-09-08 04:17:17

+0

C#默認使用空格作爲分隔符。如果你想使用其他分隔符,那麼你可以採用參數並使用你想支持的分隔符來分割它。所以如果你想使用' - '分開它,那麼你可以使用argument.split(' - ') – Ankit 2010-09-08 04:25:31

+1

我的意思是,在命令行中,如果你傳遞「a \ tb」a和b會分離,對吧?我詢問如果從控制檯傳遞「a \ tb」,命令行 – 2010-09-08 04:34:47