在 Java 中解析类似 shell 的命令行的推荐方法是什么。By that I don't mean processing the options when they are already in array form (eg handling "-x" and such), there are loads of questions and answers about that already.
不,我的意思是将完整的命令字符串拆分为“令牌”。我需要转换一个字符串,例如:
user 123712378 suspend "They are \"bad guys\"" Or\ are\ they?
...到列表/数组:
user
123712378
suspend
They are "bad guys"
Or are they?
我目前只是对空格进行拆分,但这显然无法处理引号和转义空格。
(报价处理是最重要的。转义空格会很好)
注意:我的命令字符串是来自类似 shell 的 Web 界面的输入。它不是由main(String[] args)