如何从java中的字符串创建args[]
我需要模拟命令行,因此我需要将字符串更改为args[],就像在main方法中运行带参数的程序一样 我使用的是commons cli,但它没有任何解析方法,它确实需要字符串数组 我想,我只是使用split,但不幸的是,看看这个问题:如何从java中的字符串创建args[],java,command-line,command,command-line-arguments,Java,Command Line,Command,Command Line Arguments,我需要模拟命令行,因此我需要将字符串更改为args[],就像在main方法中运行带参数的程序一样 我使用的是commons cli,但它没有任何解析方法,它确实需要字符串数组 我想,我只是使用split,但不幸的是,看看这个问题: String input = "-command \"This is a long parameter\""; String args[] = input.split(" "); //args[0] = -command //args[1] = "This //arg
String input = "-command \"This is a long parameter\"";
String args[] = input.split(" ");
//args[0] = -command
//args[1] = "This
//args[2] = is
//etc.
如果将此-命令“这是一个长参数”
用作main方法的参数,则会得到以下结果:
//args[0] == -command
//args[1] == This is a long parameter
那么有什么建议怎么做呢?第二个问题是在google上找到它,因为每个线程都解释了args[]是什么,而不是如何从字符串中获取它。您可以使用正则表达式来剪切字符串
for (String s : "hello \"world this is\" a string"
.split(" (?=\")|(?<=\")\\s"))
System.out.println(s);
您是否尝试过输入。拆分(“\”);?As\”是您的输入中的分隔符string@BhushanKawadkar-嗯,它可能是正确的方向,但我有两个分隔符-第一个是
“
,第二个是“`(空格)…@Keppil-非常感谢!这正是我要找的。
hello
"world this is"
a string