2017-10-20 5 views
0

Ceci est peut-être une question en double, mais je n'ai rien trouvé qui pourrait être utile pour moi. Regardez, j'ai une chaîne (en fait c'est la chaîne de commande) qui ressemble à command arg1 "arg2 with whitespaces but enclosed with quotes".Parse ligne de commande en ligne

donc je dois l'analyser, construire un tableau ou arguments - quelque chose comme {"arg1", "arg2 with whitespaces but enclosed with quotes"}

Il n'y a aucun moyen de le faire avec un simple split - argument de devis ci-joint peut être avec des espaces si divisé les considérera comme « arguments " aussi.

Toutes les bibliothèques ou quelque chose d'utile sont-elles liées à cela?

+0

voir ce https://stackoverflow.com/questions/7804335/split-string-on-spaces-in-java-except-if-between-quotes-ie-treat-hello-wor?noredirect=1&lq=1 –

+0

Vérifiez ma version modifiée – Sergio

+0

* "Toutes les bibliothèques, ou quelque chose d'utile, sont liées à cela?" * [Les questions qui nous demandent de recommander ou de trouver un livre, un outil, une bibliothèque logicielle, un didacticiel ou autre ressource hors site Débordement car ils ont tendance à attirer les réponses avisées et le spam. Au lieu de cela, décrivez le problème et ce qui a été fait jusqu'à présent pour le résoudre.] (Http://meta.stackoverflow.com/questions/254393) –

Répondre

0

Si vous avez seulement deux args vous pouvez utiliser:

String myString = "command arg1 \"arg2 with whitespaces but enclosed with quotes\""; 
    String [] splited = myString.split(" ",3); 
    System.out.println(Arrays.toString(splited)); 

si vous avez plus voir le Q & A dans les commentaires.