在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");
}