在Java中,如何从字符串中获取独立的数字?

在Java中,如何从字符串中获取独立的数字?,java,replaceall,Java,Replaceall,我正在做一个文件编辑器项目,需要确定用户何时输入一个数字 如果用户输入D,则应删除最后一行 如果他们输入D2,它将删除索引2 如果他们输入了D2 5,那么程序应该从a中删除第2-5行 他们正在编辑的文本文件 我遇到的问题是如何确定用户何时输入两个数字。到目前为止,我有这个 input = keyboard.nextLine(); String digit = input.replaceAll("[^0-9]", ""); if(!(digit.equals(""))){

我正在做一个文件编辑器项目,需要确定用户何时输入一个数字

  • 如果用户输入D,则应删除最后一行
  • 如果他们输入D2,它将删除索引2
  • 如果他们输入了D2 5,那么程序应该从a中删除第2-5行 他们正在编辑的文本文件
我遇到的问题是如何确定用户何时输入两个数字。到目前为止,我有这个

input = keyboard.nextLine();
String digit = input.replaceAll("[^0-9]", "");

    if(!(digit.equals(""))){
       n = Integer.parseInt(digit);
                        //and so on
    }

因此,如果我用这个输入D25,数字是25,我需要一种方法将2和5作为单独的数字来读取

将字符串拆分为一个或多个空格

 Pattern p = Pattern.compile("[0-9]+");
 String myString = " d 5 6";
 Matcher m = p.matcher(myString);
 List abc = new ArrayList();
 while (m.find()) 
 {
    int n = Integer.parseInt(m.group());
    abc.add(n);
 }     
 System.out.println(abc);
String[] digit = s.split(" +");
试用

这将按空格分隔
字符串。现在,您可以使用
array[index]
访问它的各个部分

String str=“D 2 5”;
String str = "     D    2     5";
        String array[] = str.replace(" ", "").split("");
        List<Integer> numbers=new ArrayList<Integer>();
        for (String item : array) {
            try {
                numbers.add(Integer.parseInt(item));
            } catch (Exception e) {
                continue;
            }
        }
        System.out.println(numbers);
字符串数组[]=str.replace(“,”).split(“”); 列表编号=新的ArrayList(); for(字符串项:数组){ 试一试{ add(Integer.parseInt(item)); }捕获(例外e){ 持续 } } 系统输出打印项次(数字);
如何确定用户何时输入两个数字。

您可以接受用户输入,然后通过检查“参数”的数量来验证字符串


尝试使用
String.split
下一步不能使用扫描仪吗?谢谢!我最终在方法调用中使用了它。
String str = "     D    2     5";
        String array[] = str.replace(" ", "").split("");
        List<Integer> numbers=new ArrayList<Integer>();
        for (String item : array) {
            try {
                numbers.add(Integer.parseInt(item));
            } catch (Exception e) {
                continue;
            }
        }
        System.out.println(numbers);
String input = "D 3 9";

String[] arrayParam = input.split(" ");

if(arrayParam.lenght==2){
    System.out.println("1 number only");
}elseif(arrayParam.lenght==3){
    System.out.println("2 numbers");
}else{
    System.out.println("invalid input");
}