我有这样的Java枚举的命令:解析字符串,如果它是使用参数和选项
public enum Commands
{
RESIZE_WINDOW("size -size"),
CREATE_CHARACTER("create-char -name"),
NEW_SCENE("scene -image"),
DIALOG("d -who -words"),
PLAY_SOUND("sound -file --blocking=false"),
FADE_TO("fade-to -file"),
WAIT("w -length=auto");
}
我希望能够解析这些字符串并提取:
- 命令名称(例如:
create-char
) - 所需的参数(例如
-name
) - 可选选项,用默认值(例如
--blocking=false
)
我看着org.apache.commons.cli
,但这似乎在第一个标准(不同的命令名称)上失败并且非常冗长。
任何图书馆的建议?
(这将被用于分析一个脚本的“语言”,如果这方面有所帮助。)
编辑:脚本语言的一个例子输入是d John "Hello World"
- 多字的文字去在引号中。
用于第一标准和使用org.apache.commons.cli,不能拆分在命令行上第一个空的空间? – 2010-09-07 17:40:29