Jaki jest zalecany sposób analizowania powłoki w stylu Java w Javie. Nie mam tu na myśli przetwarzania opcji, gdy są już w formie tablicy (np. Obsługa "-x" itp.), Jest już mnóstwo pytań i odpowiedzi na ten temat.Podział wiersza polecenia w Javie
Nie, chodzi mi o podzielenie pełnego ciągu poleceń na "tokeny". Trzeba przekonwertować ciąg znaków takich jak:
user 123712378 suspend "They are \"bad guys\"" Or\ are\ they?
... do listy/tablicy:
user
123712378
suspend
They are "bad guys"
Or are they?
Jestem obecnie tylko ten podział na białe znaki, ale to oczywiście nie może obsłużyć cudzysłów i spacji.
(obsługa Cytat jest najważniejsze Escaped obowiązuje byłoby miło-to-have.)
Uwaga: My polecenia ciąg jest wejście z interfejsem WWW shell-podobne. To nie jest zbudowany z main(String[] args)
Czy większość z tych bibliotek wiersza poleceń nie rozwiązała tego problemu? Możesz po prostu spojrzeć na ich źródło. –
@tieTYT O ile mi wiadomo, te biblioteki zajmują się tylko argumentami, które zostały rozdzielone przez powłokę. Są one przeznaczone do budowania poleceń, a nie powłok. –
Jak podzieliłbyś następujące rzeczy: 'To jest" przykład "'. To znaczy. jak potraktujesz początkowy cudzysłów poprzedzony spoza białej spacji? –