我可能忽略了此问题的简单解决方案,但是我在概念化如何以某种格式解析Java程序中的命令行参数时遇到了麻烦。
我想解析采用“ -c3”形式的多个命令行参数。字母“ c”代表程序内的特定变量。数字“ 3”代表“ c”的值。
这是我最初概念化解析命令行参数的方式:
for(int i=0; i<args.length; i++){
String[] parseArg = args[i].split("");
switch(parseArg[2]){ //parseArg[2] is the alpha character
case "c" :
varC = parseArg[3]; //parseArg[3] is the first digit of the value, varC is the placeholder for command line variable "c" (ie "-c3")
}
我将继续为将作为命令行参数给出的所有变量添加多个case语句。这似乎是一个可行的解决方案,直到我意识到多于一位的整数将无法正确拆分。
我看过有关.string方法和各种解析方法的教程,但我仍不清楚如何根据字母和数字字符的不同来解析参数。
最佳答案
尝试这个。
String arg = "-c12345";
String[] parseArg = arg.split("(?<!...)");
System.out.println(Arrays.toString(parseArg));
结果:
[-, c, 12345]