Qual è il modo consigliato di analizzare una riga di comando simile a shell in Java. Con ciò non intendo l'elaborazione delle opzioni quando sono già in forma di array (ad esempio la gestione di "-x" e così via), ci sono un sacco di domande e risposte a riguardo.Suddivisione di una riga di comando in Java
No, intendo la divisione di una stringa di comando completa in "token". Ho bisogno di convertire una stringa come:
user 123712378 suspend "They are \"bad guys\"" Or\ are\ they?
... alla lista/array:
user
123712378
suspend
They are "bad guys"
Or are they?
Attualmente sto solo facendo una spaccatura su spazio bianco, ma che ovviamente non riesco a gestire le virgolette e gli spazi sfuggiti.
(trattamento preventivo è più importante spazi Escaped sarebbe bello da avere.)
Nota: La mia stringa di comando è l'ingresso da un'interfaccia web conchiglia. Non è costruito da main(String[] args)
La maggior parte di quelle librerie della riga di comando non ha risolto questo problema? Potresti solo guardare la loro fonte. –
@tieTYT Per quanto ne so, queste librerie trattano solo gli argomenti una volta separati dalla shell. Sono per la costruzione di comandi, non di shell. –
Come divideresti quanto segue ?: 'Questo è" un esempio "'. Cioè come tratteresti una virgoletta di apertura preceduta da un carattere di spazio non bianco? –