java - 多参数输入字符串
问题描述
我正在尝试做的事情
我试图找到一种简单的方法来在一个字符串中输入多个参数并将其中的一部分传递给计算。
例如,终端指令通常是一个多重指令字符串 sudo foo bar = [sudo][foo][bar]
我不知道如何在 java 中做到这一点,或者应该如何做到这一点。
到目前为止我已经尝试过
ArrayList<Integer> threadList = new ArrayList();
Scanner scanner = new Scanner(System.in);
public void printOptions(){
System.out.println("[1] > New Primefactordevision");
System.out.println("[Number] > Check Status of [Number]");
System.out.println("[x] [Number] > Terminates Primefactordivision of [Number]");
System.out.println("[x] > Terminate");
}
public void chooseOperation(){
printOptions();
String choice = scanner.next();
switch(choice){
case "1":{}
case "Number":{}
case String.format("x %s",threadList.get(*choice- x somehow*).toString()):{}
case "x":{}
}
当您键入x [integer contained by threadList]
.
所以基本上 String 有 2 个参数。[x]
和[integer]
。
虽然使用x
加上一个定义integer
为静态的参数不是问题,但从其他地方动态分配部分选择参数是有条件的。
这应该怎么做?
解决方案
我试图有一个由字母 x 和一个整数组成的输入,其中的整数将被进一步计算
如果您想确定一个字符串是否与格式“x 123”匹配,其中 123 是一个可能变化的数字(然后提取该数字),带有匹配器的正则表达式是您最好的选择。
String inputStr = "x 123";
Pattern pattern = Pattern.compile("x (\\d+)");
Matcher matcher = pattern.matcher(inputStr);
if(matcher.find()) {
String num = matcher.group(1);
System.out.println(num);
}
推荐阅读
- python - 在 python 3 的 Visual Studio 代码中检测未使用的导入?
- javascript - 基于多个输入字段过滤表列
- javascript - 将 Xpath 转换为 CSS 选择器
- r - 在具有一个节点的 R 中解析 xml
- python - Intel Distribution for Python 中提供了哪些优化?
- chef-infra - CHEF 云供应支持
- mysql - 用于性能的 Where 子句中的 Number Vs Varchar2
- vue.js - 如何在 vue 2 中获取 DOM 元素?
- python - Discord.py 提供角色的反应机器人
- jenkins - failedFast 时将构建状态设置为失败