如何从 Java 中的字符串中获取单独的数字?
How do get separate digits from a string in Java?
我正在处理文件编辑器项目,需要确定用户何时输入数字。
- 如果用户输入D,应该删除最后一行
- 如果他们输入 D 2 它将删除索引 2
- 如果他们输入 D 2 5 那么程序应该从 a 中删除第 2 -5 行
他们正在编辑的文本文件。
我遇到的问题是如何确定用户何时输入了两个数字。到目前为止我有这个
input = keyboard.nextLine();
String digit = input.replaceAll("[^0-9]", "");
if(!(digit.equals(""))){
n = Integer.parseInt(digit);
//and so on
}
因此,如果我输入 D 2 5,数字是 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);
将字符串拆分为一个或多个 space
String[] digit = s.split(" +");
尝试使用 String#split
String s = "D 2 5";
String array[] = s.split(" ");
这会将 String
、 拆分为 space。现在,您可以使用 array[index]
访问它的各个部分。
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);
how to determine when a user inputs two numbers.
您可以获取用户输入,然后通过检查 "parameters"
的数量来验证字符串
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");
}
我正在处理文件编辑器项目,需要确定用户何时输入数字。
- 如果用户输入D,应该删除最后一行
- 如果他们输入 D 2 它将删除索引 2
- 如果他们输入 D 2 5 那么程序应该从 a 中删除第 2 -5 行 他们正在编辑的文本文件。
我遇到的问题是如何确定用户何时输入了两个数字。到目前为止我有这个
input = keyboard.nextLine();
String digit = input.replaceAll("[^0-9]", "");
if(!(digit.equals(""))){
n = Integer.parseInt(digit);
//and so on
}
因此,如果我输入 D 2 5,数字是 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);
将字符串拆分为一个或多个 space
String[] digit = s.split(" +");
尝试使用 String#split
String s = "D 2 5";
String array[] = s.split(" ");
这会将 String
、 拆分为 space。现在,您可以使用 array[index]
访问它的各个部分。
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);
how to determine when a user inputs two numbers.
您可以获取用户输入,然后通过检查 "parameters"
的数量来验证字符串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");
}