Split (NOT PARSE) eine Zeichenkette in Befehlszeilenargumente C # [duplizieren]

9

Grüße,

Ich habe scheinbar ein einfaches Problem, ist es aber nicht. Ich möchte eine Zeichenfolge aufnehmen und sie in Befehlszeilenargumente aufteilen. Ich habe diese Frage seit Wochen gegoogelt und kann nichts finden, was meinen Bedürfnissen entspricht.

Zum Beispiel die Zeile: --foo=bar -foo="bar test" --foo "bar \"test\"" --foo bar

Wäre aufgeteilt in: (in dieser Reihenfolge)

  • --foo=bar
  • -foo=bar test
  • --foo
  • bar "test"
  • --foo
  • bar

BEARBEITEN

Ja, ich merke - foo ist mehr als einmal. Dies ist das Teilen / Tokenisieren. Nicht analysieren, das ist der nächste Schritt. Es ist mir egal, ob das ein Fehler wäre, wenn ich es analysiere. Was ich jetzt tun möchte, ist, die Zeichenfolge in einen Array-Zustand zu bringen, den ich dann in Mono.Options einspeisen kann

BEARBEITEN 2

Lesen Sie das Beispiel. Das versuche ich zu erreichen. JUST das.

    
Cole 29.09.2016, 07:01
quelle

2 Antworten

-4

Wenn Sie eine Konsolenanwendung ausführen, werden die Befehlszeilenargumente an die Main-Methode (String [] args) übergeben.

Wenn Sie jedoch Ihre Argumente aufteilen möchten, vorausgesetzt, dass Argumente in einer String-Variablen enthalten sind, können Sie dies tun:

%Vor%

    
H. Herzl 29.09.2016 07:09
quelle
-5

Verwenden Sie einfach Environment.GetCommandLineArgs() .

Dies wird Ihnen ein Array von Strings geben, die die Befehlszeilenargumente darstellen

    
Radinator 29.09.2016 07:15
quelle

Tags und Links